C++ Skúste-Catch-Konečne

C Skuste Catch Konecne



C++ poskytuje metódu „try-catch“ na spracovanie výnimiek. Keď sa v programe C++ vyskytne výnimka, tieto metódy „skúseného chytenia“ pomáhajú pri presune kontroly z jednej časti kódu programu do druhej. Výnimkou je chyba, ktorá sa objaví počas spustenia programu. Keď počas vykonávania programu nastane mimoriadna situácia, ako napríklad pokus o delenie nulou, vyvolá sa výnimka C++ a túto situáciu vyriešime jednoduchým použitím metódy „try-catch“ v našich kódoch. Obsahuje tri kľúčové slová: „vyskúšať“, „chytiť“ a „hodiť“. Kľúčové slovo „throw“ sa používa na vyvolanie výnimky v iných častiach kódu. Programovanie v C++ nám neuľahčuje kľúčové slovo „konečne“, ale v kódoch C++ môžeme použiť kľúčové slová „vyskúšať“, „chytiť“ a „hodiť“.

Príklad 1:

Je tu zahrnutý „iostream“, hlavičkový súbor, v ktorom je deklarovaných niekoľko funkcií. Používame tieto funkcie, ktoré sú deklarované v tomto hlavičkovom súbore v našom kóde, preto zahrnieme tento hlavičkový súbor. Potom máme „std“, ktorý je tu umiestnený, pretože sú v ňom definované aj funkcie ako „cin“ a „cout“. Nemusíme písať „std“ so všetkými týmito funkciami, ak na začiatok nášho kódu pridáme „namespace std“. Potom sa tu vyvolá funkcia „main()“, ktorá sa tiež označuje ako kód ovládača programu C++.

Potom tu použijeme kľúčové slovo „try“, v ktorom inicializujeme „my_num1“ s hodnotou „35“. Je to premenná typu údajov „int“. Teraz umiestnime túto premennú do „if“ a umiestnime podmienku, ktorá hovorí, že „my_num1“ musí byť väčšie alebo rovné „98“. Ak je daná podmienka splnená, posunie sa ďalej v „if“ a vykoná príkaz, ktorý je tu napísaný. Použijeme „cout“ a vložíme správu, ktorá sa zobrazí, keď je podmienka splnená.







Potom použijeme kľúčové slovo „hodiť“ po umiestnení „else“. V tomto kľúčovom slove „throw“ odovzdáme ako parameter „my_num1“. Nižšie pridávame časť „úlovok“. Vložíme 'my_num2' ako parameter 'catch()' a potom znova použijeme 'cout' v tejto časti 'catch'. Táto časť sa spustí iba vtedy, keď sa v časti „skúsiť“ vyskytne výnimka.



Kód 1:



#include
použitím menný priestor std ;
int Hlavná ( ) {
skúste {
int moje_cislo1 = 35 ;
ak ( moje_cislo1 >= 98 ) {
cout << 'Prístup je udelený tu.' ;
} inak {
hodiť ( moje_cislo1 ) ;
}
}
chytiť ( int moje_číslo2 ) {
cout << 'Prístup je sem odmietnutý.' << endl ;
cout << 'Číslo je:' << moje_číslo2 ;
}
vrátiť 0 ;
}

Výkon:
Číslo, ktoré sme zadali, je „35“, čo je menej ako „98“. Takže tam nastane výnimka a zobrazí sa časť „catch()“. Prístup k časti „vyskúšať“ je odmietnutý.





Príklad 2:

Sem umiestnime hlavičkový súbor „iostream“ a „namespace std“. Potom vytvoríme funkciu „division()“, do ktorej umiestnime dva parametre, ktorými sú „čitateľ“ a „menovateľ“ dátového typu „int“. Dátový typ tejto funkcie „rozdelenie“ sme nastavili na „double“.



Pod to pridáme „if()“, v ktorom pridáme podmienku, že menovateľ sa rovná nule. Potom použijeme kľúčové slovo „hodiť“ a napíšeme tam správu. Táto správa sa vykreslí vždy, keď sa v tomto kóde vyskytne výnimka podľa podmienky. Pod tým používame kľúčové slovo „návrat“, do ktorého umiestnime „čitateľ/menovateľ“. Takže vráti výsledok delenia. Teraz sa zavolá funkcia „main()“.

Potom sa „num1“ a „num2“ inicializujú ako premenné „int“ a priradia sa im „89“ a „0“. Potom inicializujeme „výsledok“ dátového typu „double“. Tu používame kľúčové slovo „vyskúšať“. V tejto časti pridáme túto premennú „výsledok“ a tejto premennej priradíme funkciu „division()“. Tejto funkcii odovzdávame dva parametre: „num1“ a „num2“. Pod tým zobrazíme „výsledok“, ktorý získame po použití funkcie „division()“. Potom tiež použijeme „catch“ a umiestnime „const char* msg“ na zobrazenie správy, ktorú sme predtým pridali.

Kód 2:

#include
použitím menný priestor std ;
dvojitý divízie ( int čitateľ, int menovateľ ) {
ak ( menovateľ == 0 ) {
hodiť 'Delenie nulou tu nie je možné!' ;
}
vrátiť ( čitateľ / menovateľ ) ;
}
int Hlavná ( ) {
int číslo1 = 89 ;
int číslo2 = 0 ;
dvojitý výsledok = 0 ;
skúste {
výsledok = divízie ( číslo1, číslo2 ) ;
cout << výsledok << endl ;
} chytiť ( konšt char * msg ) {
cerr << msg << endl ;
}
vrátiť 0 ;
}

Výkon:
Číslo, ktoré sme predtým vložili ako menovateľ, je „0“. Výnimka sa teda vyskytuje v kóde a zobrazuje danú správu.

Príklad 3:

Tu sa vytvorí funkcia „multiplication()“, do ktorej umiestnime „hodnotu“ a „násobiteľ“ ako parametre dátového typu „int“. Potom použijeme „if“, v ktorom pridáme podmienku multiplikátora, ktorá sa rovná nule. Potom sa na miesto, kde pridávame vyhlásenie, umiestni „hodiť“. Potom máme „návrat“, kam umiestnime premenné „hodnota * násobiteľ“, ktoré sme predtým deklarovali. Takže tu vráti výsledok násobenia.

Potom zavoláme „main()“, kde deklarujeme „int value1“ a „int value2“ s hodnotami „34“ a „0“. Funkcia „int m_res“ je tiež deklarovaná a potom sa tu nazýva funkcia „multiplication()“. Po vykonaní tejto funkcie sa teraz výsledok uloží do premennej „m_res“ a potom sa zobrazí. Následne použijeme funkciu „catch“ a vložíme „const char* msg“ na zobrazenie správy, ktorú sme predtým pridali do časti „throw“.

Kód 3:

#include
použitím menný priestor std ;
dvojitý násobenie ( int hodnota, int multiplikátor ) {
ak ( multiplikátor == 0 ) {
hodiť 'Hodnotu nenásobíme nulou!' ;
}
vrátiť ( hodnotu * multiplikátor ) ;
}
int Hlavná ( ) {
int hodnota1 = 3. 4 ;
int hodnota2 = 0 ;
int m_res ;
skúste {
m_res = násobenie ( hodnota1, hodnota2 ) ;
cout << m_res << endl ;
} chytiť ( konšt char * msg ) {
cerr << msg << endl ;
}
vrátiť 0 ;
}

Výkon :
Keďže hodnota, ktorú sme predtým zadali, má ako násobiteľ „0“, kód má výnimku, ktorá spôsobí, že sa tu zobrazí upozornenie.

Príklad 4:

Tu vytvoríme funkciu „multiply()“ a zadáme „číslo1“ a „číslo2“ ako parametre dátového typu „int“. Ďalej použijeme operátor „if“ na pridanie podmienky, ktorou je násobiteľ menší alebo rovný nule. Potom sa pridá vyhlásenie tam, kde má byť „hodiť“. Výsledok násobenia sa potom vráti v sekcii „návrat“, kde vložíme premennú „číslo1 * číslo2“, ktorú sme predtým deklarovali.

Následne vyvoláme funkciu „main()“ a „int newNumber1“ a „int newNumber2“ priradíme hodnoty „34“ a „12“. Tu sa funkcia „multiply()“ volá po deklarácii „int mResult“. Teraz je výsledok tejto funkcie uložený v premennej „mResult“ a je vykreslený v nasledujúcom texte. Potom použijeme funkciu „catch“ a pridáme „const char* msg“ na zobrazenie správy, ktorú sme napísali v sekcii „throw“.

Kód 4:

#include
použitím menný priestor std ;
dvojitý množiť ( int číslo 1 , int číslo2 ) {
ak ( číslo2 <= 0 ) {
hodiť 'Hodnotu nenásobíme nulou alebo zápornou hodnotou!' ;
}
vrátiť ( číslo 1 * číslo2 ) ;
}
int Hlavná ( ) {
int newNum1 = 3. 4 ;
int newNum2 = 12 ;
int mVýsledok ;
skúste {
mVýsledok = množiť ( newNum1, newNum2 ) ;
cout << 'Výsledkom násobenia je' << mVýsledok << endl ;
}
chytiť ( konšt char * msg ) {
cerr << msg << endl ;
}
vrátiť 0 ;
}

Výkon:
Hodnota, ktorú pridávame, je „12“, ku ktorej pridávame podmienku. Funkcia „multiply()“ sa teda vykoná, pretože podmienka nie je pravdivá. Zobrazí sa výsledok násobenia. Tu sa vykonáva časť „skúsiť“.

Záver

Koncept „vyskúšaného úlovku“ a kódy v tejto príručke sú podrobne preštudované. Tento koncept sme dôkladne preskúmali a ukázali sme, ako funguje v programovaní v C++. Definovali sme, že výraz „hodiť“ vytvára výnimku, keď sa nájde chyba, čo nám umožňuje napísať náš jedinečný kód. Pomocou výrazu „catch“ môžeme určiť blok kódu, ktorý sa má spustiť, ak sa v časti „try“ objaví výnimka.