C++ Try-Catch-Endelig

C Try Catch Endelig



C++ giver 'try-catch'-metoden til at håndtere undtagelserne. Når der opstår en undtagelse i C++-programmet, hjælper disse 'try-catch'-metoder med at flytte kontrollen fra den ene del af programmets kode til den anden. En undtagelse er en fejl, der opstår, mens et program kører. Når en ekstraordinær situation, såsom at forsøge at dividere med nul, opstår, mens et program kører, opstår en C++ undtagelse, og vi håndterer denne situation ved blot at bruge 'try-catch' metoden i vores koder. Den indeholder tre nøgleord: 'prøv', 'fang' og 'smid'. Nøgleordet 'smid' bruges til at kaste undtagelsen i andre kodedele. C++-programmeringen letter os ikke med nøgleordet 'endelig', men vi kan bruge nøgleordene 'prøv', 'fang' og 'smid' i C++-koder.

Eksempel 1:

'iostream' er inkluderet her, header-filen, hvor flere funktioner er erklæret. Vi bruger disse funktioner, som er erklæret i denne header-fil i vores kode, så vi inkluderer denne header-fil. Efter dette har vi 'std', som er placeret her, da funktioner som 'cin' og 'cout' også er defineret i den. Vi behøver ikke at skrive 'std' med alle disse funktioner, hvis vi tilføjer 'namespace std' i starten af ​​vores kode. Herefter aktiveres 'main()'-funktionen her, som også omtales som driverkoden for C++-programmet.

Derefter bruger vi nøgleordet 'prøv' her, hvor vi initialiserer 'mit_nummer1' med værdien '35'. Det er 'int' datatypevariablen her. Nu placerer vi denne variabel inde i 'hvis' og placerer en betingelse, der siger, at 'mit_tal1' skal være større end eller lig med '98'. Hvis den givne betingelse er opfyldt, går den videre inde i 'hvis' og udfører sætningen, der er skrevet her. Vi bruger 'cout' og indsætter en besked, der skal vises, når betingelsen er opfyldt.







Herefter bruger vi søgeordet 'smid' efter at have placeret 'andet'. I dette 'kast' nøgleord sender vi 'mit_nummer1' som parameter. Vi tilføjer 'fangst'-delen under dette. Vi indsætter 'my_num2' som parameteren for 'catch()' og bruger derefter 'cout' igen inde i denne 'catch'-del. Denne del udføres kun, når der opstår en undtagelse i 'try'-delen.



Kode 1:



#include
ved brug af navneområde std ;
int vigtigste ( ) {
prøve {
int mit_nummer1 = 35 ;
hvis ( mit_nummer1 >= 98 ) {
cout << 'Adgangen er givet her.' ;
} andet {
kaste ( mit_nummer1 ) ;
}
}
fangst ( int mit_nummer2 ) {
cout << 'Adgangen er nægtet her.' << endl ;
cout << 'Nummeret er:' << mit_nummer2 ;
}
Vend tilbage 0 ;
}

Produktion:
Det tal, vi indtastede, er '35', hvilket er mindre end '98'. Så undtagelsen opstår der, og 'catch()'-delen vises. Adgangen til 'prøv'-delen nægtes.





Eksempel 2:

Vi placerer 'iostream'-headerfilen her og 'namespace std'. Herefter opretter vi en 'division()' funktion, hvori vi placerer to parametre, som er 'tælleren' og 'nævneren' af 'int' datatypen. Vi indstiller datatypen for denne 'division'-funktion til 'dobbelt'.



Herunder tilføjer vi 'if()', hvor vi tilføjer betingelsen om, at nævneren er lig nul. Efter dette bruger vi nøgleordet 'smid' og skriver en besked der. Denne meddelelse gengives, når undtagelsen forekommer i denne kode i henhold til betingelsen. Herunder bruger vi nøgleordet 'retur', hvori vi placerer 'tæller/nævner'. Så det returnerer resultatet af divisionen. Nu kaldes 'main()'-funktionen.

Herefter initialiseres 'num1' og 'num2' som 'int'-variablerne og tildeler dem henholdsvis '89' og '0'. Derefter initialiserer vi 'resultatet' af den 'dobbelte' datatype. Her bruger vi søgeordet 'prøv'. I denne del tilføjer vi denne 'resultat'-variabel og tildeler 'division()'-funktionen til denne variabel. Vi sender to parametre til denne funktion: 'num1' og 'num2'. Under dette viser vi 'resultatet', som vi får efter at have anvendt 'division()'-funktionen. Herefter bruger vi også 'fangsten' og placerer 'const char* msg' for at vise den besked, som vi tidligere tilføjede.

Kode 2:

#include
ved brug af navneområde std ;
dobbelt division ( int tæller, int nævner ) {
hvis ( nævner == 0 ) {
kaste 'Division med nul er ikke mulig her!' ;
}
Vend tilbage ( tæller / nævner ) ;
}
int vigtigste ( ) {
int nummer1 = 89 ;
int nummer 2 = 0 ;
dobbelt resultat = 0 ;
prøve {
resultat = division ( nummer1, nummer2 ) ;
cout << resultat << endl ;
} fangst ( konst char * besked ) {
cerr << besked << endl ;
}
Vend tilbage 0 ;
}

Produktion:
Tallet, som vi tidligere har indsat som nævneren, er '0'. Så undtagelsen forekommer i koden, og den viser den givne besked.

Eksempel 3:

Funktionen 'multiplikation()' oprettes her, hvor vi placerer 'værdien' og 'multiplikatoren' som parametrene for datatypen 'int'. Derefter bruger vi 'hvis', hvor vi tilføjer en multiplikatorbetingelse, der er lig med nul. Derefter placeres 'kast', hvor vi tilføjer et udsagn. Så har vi 'afkastet', hvor vi placerer 'værdi * multiplikator' variablerne, som vi tidligere erklærede. Så det returnerer multiplikationsresultatet her.

Efter dette kalder vi 'main()', hvor vi erklærer 'int value1' og 'int value2' med værdierne henholdsvis '34' og '0'. 'int m_res' er også erklæret og kaldes derefter 'multiplikation()'-funktionen her. Efter at have udført denne funktion, gemmes resultatet nu i variablen 'm_res' og vises derefter. Efterfølgende bruger vi 'fangst'-funktionen og indsætter 'const char* msg' for at vise den besked, som vi tidligere tilføjede i 'kast'-delen.

Kode 3:

#include
ved brug af navneområde std ;
dobbelt multiplikation ( int værdi, int multiplikator ) {
hvis ( multiplikator == 0 ) {
kaste 'Vi multiplicerer ikke værdien med nul!' ;
}
Vend tilbage ( værdi * multiplikator ) ;
}
int vigtigste ( ) {
int værdi1 = 3. 4 ;
int værdi2 = 0 ;
int m_res ;
prøve {
m_res = multiplikation ( værdi1, værdi2 ) ;
cout << m_res << endl ;
} fangst ( konst char * besked ) {
cerr << besked << endl ;
}
Vend tilbage 0 ;
}

Produktion :
Da den værdi, som vi tidligere har indtastet, har '0' som multiplikator, har koden en undtagelse, som får beskeden til at blive vist her.

Eksempel 4:

Her bygger vi 'multiply()'-funktionen og sender 'number1' og 'number2' ind som parametrene for 'int'-datatypen. Dernæst bruger vi 'hvis'-operatoren til at tilføje en betingelse til den, som er en multiplikator, der er mindre end eller lig med nul. Derefter tilføjes erklæringen, hvor 'kast' formodes at være. Multiplikationsresultatet returneres derefter i 'retur'-sektionen, hvor vi indsætter variablen 'tal1 * tal2', som vi tidligere har erklæret.

Efterfølgende påkalder vi funktionen 'main()' og tildeler '34' og '12' værdierne til henholdsvis 'int newNumber1' og 'int newNumber2'. Her kaldes 'multiply()'-funktionen efter erklæringen af ​​'int mResult'. Nu er resultatet af denne funktion gemt i variablen 'mResult' og gengivet i det følgende. Vi bruger derefter 'fangst'-funktionen og tilføjer 'const char* msg' for at vise den besked, som vi skrev i 'kast'-sektionen.

Kode 4:

#include
ved brug af navneområde std ;
dobbelt formere sig ( int nummer 1 , int nummer 2 ) {
hvis ( nummer 2 <= 0 ) {
kaste 'Vi multiplicerer ikke værdien med nul eller negativ værdi!' ;
}
Vend tilbage ( nummer 1 * nummer 2 ) ;
}
int vigtigste ( ) {
int nytNum1 = 3. 4 ;
int nytNum2 = 12 ;
int mResultat ;
prøve {
mResultat = formere sig ( nytNum1, nytNum2 ) ;
cout << 'Resultatet af multiplikation er' << mResultat << endl ;
}
fangst ( konst char * besked ) {
cerr << besked << endl ;
}
Vend tilbage 0 ;
}

Produktion:
Den værdi, vi tilføjer, er '12', som vi tilføjer betingelsen til. Så funktionen 'multiply()' udføres, da betingelsen ikke er sand. Resultatet af multiplikationen vises. 'Prøv'-delen udføres her.

Konklusion

'Try-catch'-konceptet og koderne i denne vejledning studeres i detaljer. Vi udforskede dette 'try-catch'-koncept grundigt og viste, hvordan det fungerer i C++-programmering. Vi definerede, at 'kast'-udtrykket skaber en undtagelse, når der findes en fejl, som lader os skrive vores unikke kode. Ved at bruge 'catch'-udtrykket kan vi specificere en kodeblok, der skal køres, hvis der vises en undtagelse i 'try'-delen.