C++ Zkuste-Chyť-Konečně

C Zkuste Chyt Konecne



C++ poskytuje metodu „try-catch“ pro zpracování výjimek. Když se v programu C++ vyskytne výjimka, tyto metody „zkuste-chytit“ pomáhají přesunout ovládání z jedné části kódu programu do druhé. Výjimkou je závada, která se objeví při běhu programu. Když během provádění programu nastane mimořádná situace, jako je pokus o dělení nulou, vyvolá se výjimka C++ a my tuto situaci vyřešíme jednoduše použitím metody „try-catch“ v našich kódech. Obsahuje tři klíčová slova: „zkusit“, „chytit“ a „hodit“. Klíčové slovo „throw“ se používá k vyvolání výjimky v jiných částech kódu. Programování v C++ nám neusnadňuje klíčové slovo „konečně“, ale můžeme použít klíčová slova „zkusit“, „chytit“ a „hodit“ v kódech C++.

Příklad 1:

Je zde zahrnut „iostream“, hlavičkový soubor, ve kterém je deklarováno několik funkcí. Používáme tyto funkce, které jsou deklarovány v tomto hlavičkovém souboru v našem kódu, proto zahrneme tento hlavičkový soubor. Poté máme „std“, který je zde umístěn, protože jsou v něm také definovány funkce jako „cin“ a „cout“. Nemusíme psát „std“ se všemi těmito funkcemi, pokud přidáme „namespace std“ na začátek našeho kódu. Poté se zde vyvolá funkce „main()“, která je také označována jako kód ovladače programu C++.

Poté zde použijeme klíčové slovo „try“, ve kterém inicializujeme „my_num1“ hodnotou „35“. Zde je to proměnná datového typu „int“. Nyní tuto proměnnou umístíme do „if“ a uvedeme podmínku, která říká, že „my_num1“ musí být větší nebo rovno „98“. Pokud je daná podmínka splněna, přesune se vpřed uvnitř „if“ a provede příkaz, který je zde napsán. Použijeme „cout“ a vložíme zprávu, která se zobrazí, když je podmínka splněna.







Poté použijeme klíčové slovo „throw“ po umístění „else“. V tomto klíčovém slově „throw“ předáme jako parametr „my_num1“. Níže přidáváme část „úlovek“. Vložíme „my_num2“ jako parametr „catch()“ a pak znovu použijeme „cout“ uvnitř této části „catch“. Tato část se spustí pouze v případě, že v části „try“ dojde k výjimce.



Kód 1:



#include
použitím jmenný prostor std ;
int hlavní ( ) {
Snaž se {
int moje_číslo1 = 35 ;
-li ( moje_číslo1 >= 98 ) {
cout << 'Přístup je zde udělen.' ;
} jiný {
házet ( moje_číslo1 ) ;
}
}
chytit ( int moje_číslo2 ) {
cout << 'Tady je přístup odepřen.' << endl ;
cout << 'Číslo je:' << moje_číslo2 ;
}
vrátit se 0 ;
}

Výstup:
Číslo, které jsme zadali, je „35“, což je méně než „98“. Takže tam nastane výjimka a zobrazí se část „catch()“. Přístup k části „zkusit“ je odepřen.





Příklad 2:

Sem umístíme hlavičkový soubor „iostream“ a „namespace std“. Poté vytvoříme funkci „division()“, do které umístíme dva parametry, kterými jsou „čitatel“ a „jmenovatel“ datového typu „int“. Datový typ této funkce „dělení“ nastavíme na „double“.



Pod to přidáme „if()“, ve kterém přidáme podmínku, že jmenovatel je roven nule. Poté použijeme klíčové slovo „hodit“ a napíšeme tam zprávu. Tato zpráva se vykreslí vždy, když v tomto kódu nastane výjimka podle podmínky. Pod tím použijeme klíčové slovo „návrat“, do kterého umístíme „čitatel/jmenovatel“. Takže vrátí výsledek dělení. Nyní je zavolána funkce „main()“.

Poté se „num1“ a „num2“ inicializují jako proměnné „int“ a přiřadí jim „89“ a „0“. Poté inicializujeme „výsledek“ datového typu „double“. Zde používáme klíčové slovo „zkusit“. V této části přidáme tuto proměnnou „result“ a přiřadíme této proměnné funkci „division()“. Této funkci předáme dva parametry: „num1“ a „num2“. Pod tím zobrazíme „výsledek“, který získáme po použití funkce „divize()“. Poté také použijeme „catch“ a umístíme „const char* msg“ pro zobrazení zprávy, kterou jsme dříve přidali.

Kód 2:

#include
použitím jmenný prostor std ;
dvojnásobek divize ( int čitatel, int jmenovatel ) {
-li ( jmenovatel == 0 ) {
házet 'Dělení nulou tady není možné!' ;
}
vrátit se ( čitatel / jmenovatel ) ;
}
int hlavní ( ) {
int číslo1 = 89 ;
int číslo2 = 0 ;
dvojnásobek výsledek = 0 ;
Snaž se {
výsledek = divize ( číslo1, číslo2 ) ;
cout << výsledek << endl ;
} chytit ( konst char * msg ) {
cerr << msg << endl ;
}
vrátit se 0 ;
}

Výstup:
Číslo, které jsme předtím vložili jako jmenovatel, je „0“. Výjimka se tedy vyskytuje v kódu a zobrazí danou zprávu.

Příklad 3:

Zde je vytvořena funkce „multiplication()“, do které umístíme „hodnotu“ a „násobitel“ jako parametry datového typu „int“. Pak použijeme „if“, ve kterém přidáme multiplikační podmínku, která se rovná nule. Poté se na místo, kde přidáme prohlášení, umístí „hodit“. Pak máme „návrat“, kam umístíme proměnné „hodnota * násobitel“, které jsme dříve deklarovali. Zde tedy vrátí výsledek násobení.

Poté zavoláme „main()“, kde deklarujeme „int value1“ a „int value2“ s hodnotami „34“ a „0“. Zde je také deklarována funkce „int m_res“ a poté volána funkce „multiplication()“. Po provedení této funkce je nyní výsledek uložen do proměnné „m_res“ a poté zobrazen. Následně použijeme funkci „catch“ a vložíme „const char* msg“, abychom zobrazili zprávu, kterou jsme dříve přidali do části „throw“.

Kód 3:

#include
použitím jmenný prostor std ;
dvojnásobek násobení ( int hodnota, int násobitel ) {
-li ( násobitel == 0 ) {
házet 'Hodnotu nenásobíme nulou!' ;
}
vrátit se ( hodnota * násobitel ) ;
}
int hlavní ( ) {
int hodnota1 = 3. 4 ;
int hodnota2 = 0 ;
int m_res ;
Snaž se {
m_res = násobení ( hodnota1, hodnota2 ) ;
cout << m_res << endl ;
} chytit ( konst char * msg ) {
cerr << msg << endl ;
}
vrátit se 0 ;
}

Výstup :
Protože hodnota, kterou jsme dříve zadali, má jako násobitel „0“, kód má výjimku, která způsobí, že se zde upozornění zobrazí.

Příklad 4:

Zde vytvoříme funkci „multiply()“ a předáme „číslo1“ a „číslo2“ jako parametry datového typu „int“. Dále použijeme operátor „if“, abychom k němu přidali podmínku, což je násobitel menší nebo roven nule. Poté je přidán příkaz tam, kde má být „hodit“. Výsledek násobení je pak vrácen v sekci „return“, kam vložíme proměnnou „number1 * number2“, kterou jsme dříve deklarovali.

Následně vyvoláme funkci „main()“ a přiřadíme hodnoty „34“ a „12“ „int newNumber1“ a „int newNumber2“. Zde je funkce „multiply()“ volána po deklaraci „int mResult“. Nyní je výsledek této funkce uložen v proměnné „mResult“ a je vykreslen v následujícím textu. Poté použijeme funkci „catch“ a přidáme „const char* msg“ pro zobrazení zprávy, kterou jsme napsali v sekci „throw“.

Kód 4:

#include
použitím jmenný prostor std ;
dvojnásobek násobit ( int číslo 1 , int číslo 2 ) {
-li ( číslo 2 <= 0 ) {
házet 'Hodnotu nenásobíme nulou nebo zápornou hodnotou!' ;
}
vrátit se ( číslo 1 * číslo 2 ) ;
}
int hlavní ( ) {
int novéNum1 = 3. 4 ;
int novéNum2 = 12 ;
int mVýsledek ;
Snaž se {
mVýsledek = násobit ( newNum1, newNum2 ) ;
cout << 'Výsledkem násobení je' << mVýsledek << endl ;
}
chytit ( konst char * msg ) {
cerr << msg << endl ;
}
vrátit se 0 ;
}

Výstup:
Hodnota, kterou přidáme, je „12“, ke které přidáme podmínku. Funkce „multiply()“ se tedy provede, protože podmínka není pravdivá. Zobrazí se výsledek násobení. Zde se provádí část „zkusit“.

Závěr

Koncept „zkuste-chytit“ a kódy v této příručce jsou podrobně prostudovány. Tento koncept jsme důkladně prozkoumali a ukázali, jak funguje v programování v C++. Definovali jsme, že výraz „hodit“ vytváří výjimku, když je nalezena chyba, což nám umožňuje napsat náš jedinečný kód. Pomocí výrazu „catch“ můžeme určit blok kódu, který se má spustit, pokud se v části „try“ objeví výjimka.