Ako jednoducho zvládnuť výnimky v C++

Ako Jednoducho Zvladnut Vynimky V C



Neočakávané udalosti, ktoré sa vyskytnú počas spustenia programu, sa označujú ako výnimky alebo chyby. Výnimky sa vyskytujú počas behu a nemožno ich zachytiť počas kompilácie, takže môžu spôsobiť vážne problémy v programe. Správne spracovanie výnimiek v programe C++ je prvoradým cieľom programátora dosiahnuť požadované výsledky.

Ako jednoducho zvládnuť výnimky v C++

Spracovanie výnimiek v C++ sa týka mechanizmu zisťovania chýb pri behu a ich efektívneho spracovania, ako je spracovanie neplatných vstupov, delenie čísla nulou v operáciách delenia a mnohé ďalšie.

Spracovanie výnimiek v C++ zahŕňa tri kľúčové slová: try, throw a catch. Príkaz try umožňuje užívateľovi definovať blok kódu, ktorý môže vyvolať výnimku v kóde. Kľúčové slovo throw vyvolá výnimku, ak sa zistí po kontrole bloku pod kľúčovým slovom try. Kľúčové slovo catch obsahuje blok kódu, ktorý dokáže spracovať výnimku pozorovanú v bloku try.







Príklad 1: Spracovanie výnimiek počas delenia

Kód je napísaný na kontrolu výnimiek počas delenia.



#include
použitím menný priestor std ;

int Hlavná ( ) {

dvojitý čitateľ, menovateľ, delenie ;

cout << 'Zadajte hodnotu čitateľa: ' ;
jedenie >> čitateľ ;

cout <> menovateľ ;

skúste {


ak ( menovateľ == 0 )
hodiť 0 ;


divízie = čitateľ / menovateľ ;
cout << čitateľ << '/' << menovateľ << ' = ' << divízie << endl ;
}

chytiť ( int num_exception ) {
cout << 'Chyba! Deliteľ nemôže byť  ' << num_exception << endl ;
}

vrátiť 0 ;
}

V tomto programe používateľ zadá hodnotu čitateľa a menovateľa deklarovaného v sekcii main(). V bloku try sa príkaz if používa na kontrolu výnimky, ktorou je, či je menovateľ nula alebo nie. Keďže delenie nemožno vykonať s nulovým deliteľom, ak sa zistí, že menovateľ je 0, vyvolá výnimku a blok catch vráti argument chyby, inak sa vykoná operácia jednoduchého delenia.







Používateľ zadá čitateľa 42 a 0 do menovateľa, čo vyvolá výnimku, takže program vráti argument chyby.



Používateľ zadá čitateľa 42 a 2 ako menovateľa, keďže sa nenašla žiadna výnimka, vráti sa výsledok po delení.

Príklad 2 Spracovanie výnimiek na kontrolu veku

Tento program kontroluje výnimky vo veku používateľa.

#include
použitím menný priestor std ;

/*
Tu chceme vyvolať výnimku (vek ako výnimku), ak je vek osoby nižší ako 18 rokov.
*/

int Hlavná ( )
{
// kontrola, či je vek vyšší ako 18 v bloku try.
skúste
{
int Vek ;
cout << 'Ak chcete získať prístup, zadajte svoj vek: ' ;
jedenie >> Vek ;

ak ( Vek >= 18 )
{
cout << 'Prístup povolený.' ;
}
// vlastná výnimka sa vyvolá, ak má vek menej ako 18 rokov.
inak
{
hodiť ( Vek ) ;
}
}
// zachytenie vyvolanej výnimky a zobrazenie požadovaného výstupu (prístup odmietnutý!)
chytiť ( int X )
{
cout << 'Prístup odmietnutý! Si neplnoletý.' << endl ;
}
vrátiť 0 ;
}

V tomto programe je definovaná premenná s celočíselnou hodnotou. Používateľ je požiadaný, aby zadal vek a vyskúšal blokovú kontrolu, či je vek používateľa vyšší alebo rovný 18. Ak to nie je pravda, vyvolá výnimku a blok výnimky vráti prístup odmietnutý! Argument. V opačnom prípade bude prístup povolený.

Používateľ zadá vek 12, aby skontroloval udelenie prístupu, pretože tento vek je mladší ako 18 rokov, takže sa vráti argument Prístup odmietnutý.

Používateľ zadá vek 20, pretože je to viac ako 18 rokov, takže prístup je udelený používateľovi.

Poznámka : Ak sa v programe nenachádza blok catch, potom sa program bude správať neštandardne av prípade výnimiek sa neočakávane ukončí.

Záver

Spracovanie výnimiek v C++ sa týka mechanizmu zisťovania chýb pri behu a ich efektívneho spracovania. Zahŕňa tri kľúčové slová: try, throw a catch. Výnimka sa skontroluje pre kód v bloku try, kľúčové slovo throw vyvolá výnimku, ak sa nájde, a blok catch spracuje výnimku vyvolanú pre blok try. Spracovanie výnimiek robí používateľské prostredie plynulým a skvelým, pretože sa vyhýba chybám pri spustení.