Ako implementovať spracovanie výnimiek v C ++?



Tento článok vám pomôže pochopiť, čo je spracovanie výnimiek a ako implementovať spracovanie výnimiek v C ++ s praktickou ukážkou.

Výnimky sú abnormálne podmienky počas behu alebo kompilácie. je veľmi dôležitý pojem v c ++. Tento článok vás zoznámi so spracovaním výnimiek v C ++ spolu s jeho rôznymi typmi.

V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,





Poďme teda do toho,

Spracovanie výnimiek v C ++

Druhy výnimiek

Existujú dva typy výnimiek,



ukončiť program v jave

Výnimka za behu

Je to výnimka zachytená počas behu.

Výnimka v čase kompilácie



Je to výnimka zachytená počas kompilácie.

Ďalej v tomto článku o spracovaní výnimiek v C ++,

Čo je spracovanie výnimiek?

Chyby narúšajú bežné vykonávanie programu. Spracovanie výnimiek je veľmi potrebné a jedná sa o proces vybavovania chýb alebo výnimiek. Zaisťuje, aby vykonanie programu nebolo ovplyvnené výnimkami, a pomaly ich spracováva bez toho, aby spôsoboval vykonávanie programu akýkoľvek problém.

Keď zvážite spracovanie výnimiek, sú s tým spojené tri výrazy,

Vyskúšajte

Kód v tomto bloku je ako skúšobný kód, ktorý by mohol spôsobiť výnimku. Táto výnimka je zachytená vo vnútri bloku zachytenia.

Chytiť

Kód v tomto bloku sa vykoná, keď kód v blokoch try spôsobí výnimku.

Hoď

Toto kľúčové slovo sa používa na vyvolanie výnimky, keď sa vyskytne. Výnimka sa odošle do obslužnej rutiny výnimky.

Syntax:

Spustí sa kód vo vnútri bloku try. Ak sa vygeneruje chyba, potom kľúčové slovo throw hodí výnimku na obsluhu výnimky, to znamená blok catch. Blok catch potom vykonal kód, ktorý je vo vnútri jeho bloku, a tým vybavil výnimku.

Pozrime sa na ukážkový kód na spracovanie výnimiek v c ++

Vzorový kód

#include using namespace std try {// code to try throw & ldquoexception & rdquo} catch (exception) {// code for catch} int main () {int x = 1 try {cout<< 'Try Block: '<

Výkon:

Výstup - spracovanie výnimiek v C ++ - Edureka

Vysvetlenie

Tento program demonštruje spracovanie výnimiek. Máme premennú x, ktorej je priradená hodnota 1. Potom máme začiatok bloku try. V tomto bloku máme príkaz if s podmienkou x<10.

V našom prípade je podmienka pravdivá, pretože x je jedna. Program potom hodí výnimku a ovládací prvok sa posunie, aby chytil blok. Podmienku vykonáme v chytacej časti a opustíme blok.

úlovok (...) {náklady<< 'Default Exceptionn'<

Nakoniec vykonáme zostávajúce príkazy po bloku catch a výstupnom programe.

Môže existovať viac výpisov o úlovkoch, v závislosti od počtu možných výnimiek.

Ďalej v tomto článku o spracovaní výnimiek v C ++,

Zlyhanie bloku zachytenia

Zvážte predchádzajúci program, ak namiesto x hodí kľúčové slovo throw „ABC“, potom funkcia catch to nezvládne. Zobrazí sa chyba,

V takom prípade môžeme nechať zobraziť našu vyhranú chybovú správu.

Aby sme to vyriešili, musíme do kódu pridať predvolenú funkciu chytenia, aby sme takéto problémy zvládli.

#include using namespace std int main () {int x = 1 try {cout<< 'Try Block: '<

Výstup:

Vysvetlenie:

Tento kód je podobný predchádzajúcemu. Jedinou zmenou je, že vyvolaná výnimka je typu char. To vedie k tomu, že naša funkcia úlovku je zbytočná. Zahrnuli sme teda predvolenú funkciu chytenia.

Ak sa žiadny z príkazov catch nezhoduje, vykoná sa predvolený príkaz catch.

Viaceré úlovkové bloky

Jeden blok pokusu môže obsahovať viac blokov úlovku.

Tu je príklad,

#include using namespace std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Výkon:

Vysvetlenie:

Vo vyššie uvedenom kóde používame viac príkazov na chytenie. Máme funkčný test, ktorý generuje výnimku. V prvom testovacom prípade je hodnota 10. Pretože 10 je väčšie ako nula, je hodené písmeno „a“ a je zachytené druhou funkciou catch.

V druhom prípade je hodnota menšia ako 0, takže je hodená hodnota -1 a je zachytená celočíselnou výnimkou

Spracovanie výnimiek v základnej a odvodenej triede:

Ak sa zachytia výnimky základnej a odvodenej triedy, musí sa pred základnou triedou vykonať úlovok odvodenej triedy.

zlúčiť triediť implementáciu c ++

Tu je niekoľko výnimiek:

  • std :: výnimka

  • logic_error

  • runtime_error

  • bad_alloc

  • bad_cast

  • bad_exception

Týmto sa dostávame na koniec tohto blogu venovaného „Exception Handling In C ++“. Dúfam, že vás tento informačný a užitočný považoval za užitočný. Sledujte ďalšie výukové programy s podobnými témami. Môžete si tiež pozrieť náš vzdelávací program.o získať podrobné znalosti o jQuery spolu s jeho rôznymi aplikáciami, môžete pre živé online školenie s nepretržitou podporou a doživotným prístupom.

Máte na nás otázku? Uveďte ich v sekcii komentárov tohto blogu a my sa vám ozveme.