Der unntak skjer
Hver gang vi kjører programvare, forventer vi at programvaren vår fungerer ordentlig i enhver situasjon. Men i noen tilfeller oppstår noen hendelser når den normale strømmen av utførelsen av programvaren vår blir stoppet. Så når vi sier at programvaren vår må være robust, betyr det at programvaren fungerer ordentlig i enhver situasjon.
Avvikshåndtering
C ++ unntakshåndtering brukes til å håndtere feiltilstanden i et program systematisk ved å ta den nødvendige handlingen. Ved hjelp av unntakshåndtering kan vi enkelt administrere og svare på kjøretidsfeil.
Prøv, fange, kaste
Syntaks
prøv
Fangst (type1 arg)
Fangst (type2 arg)
----------
Fangst (Typen Arg)
Forklaring
For det første bruker vi å skrive nøkkelordet prøve. Etter å ha avsluttet prøveblokken, må vi skrive å fange Blokk umiddelbart. Vi kan skrive flere fangstblokker i rekkefølge. Men hvor Try Block End, må alle fangstblokkene skrives umiddelbart. Hvis vi ikke skriver fangstblokk øyeblikkelig etter forsøksblokken, kan det oppstå feil. Vi bruker kaste Nøkkelord inne i prøveblokken.
Programmering Eksempel 1
# inkluderer
Ved hjelp av navneområdet STD;
int main ()
cout<< “ Exception Handling Program :” ;
prøv
Kast 30;
cout<< “ \n Try ” ;
fangst (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produksjon
Programmeringsforklaring
I dette programmeringseksemplet prøver vi å vise hvordan unntak oppstår og hvordan du håndterer det. Inne i hovedfunksjonen etter å ha skrevet en utgangserklæring vi bruker prøve blokkere. Kaste Nøkkelord brukes inne i prøveblokken. Etter å ha kastet søkeord bruker vi et nummer 30. Det kan være en streng, eller en dobbel eller en float- hvilken som helst konstant vi kan bruke. Så skriver vi en cout -uttalelse. Men denne linjen kan ikke utføres etter utførelsen av kast. Etter å ha avsluttet prøveblokken, skriver vi fangstblokken umiddelbart. Inne i fangstblokken skriver vi linjen (int e). Ved hjelp av å kaste nøkkelord hvilken verdi vi kaster, vil den verdien komme inn i E -variabelen. Etter å ha avsluttet fangstblokken, skriver vi en utgangserklæring “\ n Testing the Last Line”. Nå er spørsmålet når denne linjen skal utføres etter outputklæringen i fangstblokken?
Regler for å prøve, fange og kaste blokk
Programmering Eksempel 2
# inkluderer
Ved hjelp av navneområdet STD;
int main ()
cout<< “ Exception Handling Program :” ;
prøv
if (i == 1)
Kast 1;
if (i == 2)
Kast 2;
if (i == 3)
Kast 3;
cout<< “ \n Try ” ;
fangst (dobbelt e)
cout<< “ \n Exception no : ” << e ;
fangst (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produksjon
f. Vi kan skrive flere kastuttalelser i en enkelt prøveblokk.
Programmeringseksempel 3
# inkluderer
ved hjelp av navneområdet STD;
int main ()
int i = 3;
cout<< “ Exception Handling Program :” ;
prøv
if (i == 1)
Kast 1;
if (i == 2)
Kast 2;
if (i == 3)
Kast 3;
cout<< “ \n Try ” ;
fangst (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Produksjon
g. Vi kan skrive kastuttalelse i en prøveblokk uten å gi noe kastverdi.
Programmering Eksempel 4
# inkluderer
ved hjelp av navneområdet STD;
int main ()
cout<< “ Exception Handling Program :” ;
int i = 3;
prøv
if (i == 3)
kast;
cout<< “ \n Try ” ;
fangst (int)
cout<< “ \n Exception no : ” ;
cout<< “ \n Testing The Last Line ” ;
Produksjon
Forklaring
Her skriver vi kast nøkkelord uten å gi noen verdi, da blir programmet avsluttet fordi riktig unntakshåndtering ikke skjer her. Som et resultat vil ikke fangstblokk bli utført. I kompileringstid vil det ikke være noen feil. Men i kjøretid blir programmet avsluttet med en melding "avsluttet uten et aktivt unntak".
Konklusjon
Vi diskuterer i detalj om unntakshåndtering, og lærer her at hvis noen unormal situasjon oppstår i vårt program, må programmet være klare til å håndtere denne unormale situasjonen.