Kako jednostavno rukovati iznimkama u C++

Kako Jednostavno Rukovati Iznimkama U C



Neočekivani događaji koji se dogode dok program radi nazivaju se iznimkama ili pogreškama. Iznimke se javljaju tijekom izvođenja i ne mogu se uhvatiti tijekom kompilacije, pa mogu uzrokovati ozbiljne probleme u programu. Dobro rukovanje iznimkama u C++ programu glavni je cilj programera da postigne željene rezultate.

Kako jednostavno rukovati iznimkama u C++

Rukovanje iznimkama u C++ odnosi se na mehanizam otkrivanja pogrešaka u vremenu izvođenja i njihovo učinkovito rukovanje, kao što je rukovanje nevažećim ulazima, dijeljenje broja s nulom u operacijama dijeljenja i još mnogo toga.

Rukovanje iznimkama u C++ uključuje tri ključne riječi: try, throw i catch. Naredba try omogućuje korisniku da definira blok koda koji može pokrenuti iznimku u kodu. Ključna riječ throw izbacuje iznimku ako se otkrije nakon provjere bloka ispod ključne riječi try. Ključna riječ catch sadrži blok koda koji može obraditi iznimku opaženu u bloku try.







Primjer 1: Rukovanje iznimkama tijekom dijeljenja

Kod je napisan za provjeru iznimaka tijekom dijeljenja.



#include
korištenjem imenski prostor std ;

int glavni ( ) {

dvostruko brojnik, nazivnik, dijeljenje ;

cout << 'Unesite vrijednost brojnika: ' ;
jelo >> brojnik ;

cout <> nazivnik ;

probati {


ako ( nazivnik == 0 )
bacanje 0 ;


podjela = brojnik / nazivnik ;
cout << brojnik << '/' << nazivnik << ' = ' << podjela << endl ;
}

ulov ( int num_exception ) {
cout << 'Pogreška! Djelitelj ne može biti  ' << num_exception << endl ;
}

povratak 0 ;
}

U ovom programu, korisnik unosi vrijednost brojnika i nazivnika deklarirane u odjeljku main(). U bloku try, naredba if koristi se za provjeru iznimke, odnosno je li nazivnik nula ili nije. Kako se dijeljenje ne može izvesti s djeliteljem nule ako se utvrdi da je nazivnik 0, izbacit će iznimku i catch blok će vratiti argument pogreške, inače se izvodi jednostavna operacija dijeljenja.







Korisnik unosi brojnik 42 i 0 u nazivnik, što izbacuje iznimku, pa program vraća argument pogreške.



Korisnik unosi brojnik 42 i 2 kao nazivnik, budući da nije pronađena iznimka, vraća se rezultat nakon dijeljenja.

Primjer 2. Rukovanje iznimkom za provjeru dobi

Ovaj program provjerava iznimke u dobi korisnika.

#include
korištenjem imenski prostor std ;

/*
Ovdje želimo baciti iznimku (dob kao iznimku) ako je osoba mlađa od 18 godina.
*/

int glavni ( )
{
// provjera je li dob veća od 18 u bloku pokušaja.
probati
{
int dob ;
cout << 'Unesite svoju dob za pristup: ' ;
jelo >> dob ;

ako ( dob >= 18 )
{
cout << 'Pristup odobren.' ;
}
// prilagođena iznimka koja se izbacuje ako je dob ispod 18 godina.
drugo
{
bacanje ( dob ) ;
}
}
// hvatanje izbačene iznimke i prikazivanje željenog izlaza (pristup odbijen!)
ulov ( int x )
{
cout << 'Pristup odbijen! Maloljetni ste.' << endl ;
}
povratak 0 ;
}

U ovom programu definirana je varijabla cjelobrojne vrijednosti. Od korisnika se traži da unese dob i pokuša s blokovskim provjerama je li korisnička dob veća ili jednaka 18. Ako nije istinita, izbacuje iznimku, a blok iznimke vratit će pristup odbijen! Argument. U suprotnom, pristup će biti odobren.

Korisnik unosi dob od 12 godina kako bi provjerio odobrenje pristupa, budući da je ta dob ispod 18 godina, pa se vraća argument Pristup odbijen.

Korisnik unosi dob od 20 godina, jer je to iznad 18 godina, tako da je pristup dopušten korisniku.

Bilješka : Ako u programu nema catch bloka, tada će se program ponašati neuobičajeno i neočekivano prekinuti u slučaju iznimaka.

Zaključak

Rukovanje iznimkama u C++ odnosi se na mehanizam otkrivanja pogrešaka u vremenu izvođenja i njihovo učinkovito rukovanje. Uključuje tri ključne riječi pokušaj, baci i uhvati. Iznimka se provjerava za kod u bloku pokušaja, ključna riječ throw izbacuje iznimku ako se pronađe, a blok catch obrađuje iznimku bačenu za blok pokušaja. Rukovanje iznimkama čini korisničko iskustvo glatkim i izvrsnim izbjegavanjem pogrešaka tijekom izvođenja.