Jak implementovat zpracování výjimek v C ++?



Tento článek vám pomůže pochopit, co je zpracování výjimek a jak implementovat zpracování výjimek v C ++ s praktickou ukázkou.

Výjimky jsou abnormální podmínky během doby běhu nebo doby kompilace. je v c ++ velmi zásadní pojem. Tento článek vám představí zpracování výjimek v C ++ spolu s jeho různými typy.

V tomto článku se budeme zabývat následujícími ukazateli,





Pojďme tedy začít,

Zpracování výjimek v C ++

Druhy výjimek

Existují dva typy výjimek,



co je loutka a kuchař

Výjimka za běhu

Jedná se o výjimku zachycenou za běhu.

Výjimka v době kompilace



Jedná se o výjimku zachycenou během kompilace.

Pokračujeme tímto článkem o zpracování výjimek v C ++,

Co je zpracování výjimek?

Chyby narušují normální provádění programu. Zpracování výjimek je velmi nutné a jedná se o proces zpracování chyb nebo výjimek. Zajišťuje, aby spuštění programu nebylo ovlivněno výjimkami, a pomalu je zpracovává, aniž by to způsobilo problém při provádění programu.

Když uvažujete o zpracování výjimek, jsou s ním spojeny tři pojmy,

Snaž se

Kód uvnitř tohoto bloku je jako zkušební kód, který může vyvolat výjimku. Tato výjimka je zachycena uvnitř bloku catch.

Úlovek

Kód v tomto bloku se provede, když kód v blocích try vyvolá výjimku.

Házet

Toto klíčové slovo se používá k vyvolání výjimky, když k ní dojde. Výjimka se odešle do obslužné rutiny výjimky.

Syntax:

Spustí se kód uvnitř bloku try. Pokud je vygenerována chyba, pak klíčové slovo throw vyvolá výjimku pro obslužnou rutinu výjimky, tj. Blok catch. Blok catch poté provedl kód, který je uvnitř jeho bloku, a tak zpracoval výjimku.

Pojďme se podívat na ukázkový kód pro zpracování výjimek v jazyce C ++

Ukázkový kód

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

Výstup:

Výstup - zpracování výjimek v C ++ - Edureka

Vysvětlení

Tento program ukazuje zpracování výjimek. Máme proměnnou x, která má přiřazenu hodnotu 1. Pak máme začátek bloku try. V tomto bloku máme příkaz if s podmínkou x<10.

V našem případě je podmínka pravdivá, protože x je jedna. Program poté vyvolá výjimku a ovládací prvek se přesune, aby zachytil blok. Podmínku provedeme v úlovkové části a opustíme blok.

chytit (...) {náklady<< 'Default Exceptionn'<

Nakonec provedeme zbývající příkazy po bloku catch a ukončovacím programu.

Může existovat několik prohlášení o úlovku, v závislosti na počtu možných výjimek.

Pokračujeme tímto článkem o zpracování výjimek v C ++,

Chyba blokování úlovků

Zvažte předchozí program, pokud namísto x klíčové slovo throw hodí „ABC“, pak funkce catch to nezvládne. Zobrazí se chyba,

V takovém případě můžeme nechat zobrazit naši vyhranou chybovou zprávu.

Abychom to vyřešili, musíme do kódu přidat výchozí funkci zachycení, abychom takové problémy zvládli.

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

Výstup:

Vysvětlení:

Tento kód je podobný předchozímu. Jedinou změnou je, že vyvolaná výjimka je typu char. To má za následek, že naše funkce úlovku je k ničemu. Zahrnuli jsme tedy výchozí funkci chycení.

Pokud se žádný z příkazů catch neshoduje, provede se výchozí catch.

Více bloků úlovku

V jednom bloku try může být více bloků úlovku.

Zde je pří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ýstup:

Vysvětlení:

Ve výše uvedeném kódu používáme více příkazů catch. Máme funkční test, který generuje výjimku. V prvním testovacím případě je hodnota 10. Protože 10 je větší než nula, je hodeno znak „a“ a je chycen druhou funkcí chycení.

V druhém případě je hodnota menší než 0, takže je vyvolána hodnota -1 a je zachycena celočíselnou výjimkou

Zpracování výjimek v základní a odvozené třídě:

Pokud jsou zachyceny výjimky základní a odvozené třídy, pak musí být před odvozenou třídou proveden úlovek odvozené třídy.

sloučit implementaci řazení c ++

Zde jsou některé výjimky:

  • std :: výjimka

  • logic_error

  • runtime_error

  • bad_alloc

  • bad_cast

  • bad_exception

Tímto se dostáváme na konec tohoto blogu o „Zpracování výjimek v C ++“. Doufám, že jste našli toto poučné a užitečné, zůstaňte naladěni na další návody k podobným tématům. Můžete si také prohlédnout náš tréninkový programo získejte podrobné znalosti o jQuery spolu s jeho různými aplikacemi, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem.

Máte na nás dotaz? Uveďte je v sekci komentářů tohoto blogu a my se vám ozveme.