Kako implementirati obravnavo izjem v C ++?



Ta članek vam bo pomagal razumeti, kaj je ravnanje z izjemami in kako v C ++ izvajati ravnanje z izjemami s praktičnimi predstavitvami.

Izjeme so neobičajne razmere med izvajanjem ali časom prevajanja. je zelo pomemben koncept v jeziku c ++. Ta članek vas bo seznanil z ravnanjem z izjemami v jeziku C ++ skupaj z različnimi vrstami.

V tem članku bodo zajeti naslednji napotki:





Začnimo torej,

Obravnava izjem v jeziku C ++

Vrste izjem

Obstajata dve vrsti izjem,



Izjema časa izvajanja

To je izjema, ujeta med izvajanjem.

Izjema v času prevajanja



To je izjema, zajeta med prevajanjem.

Nadaljujemo s tem člankom o ravnanju z izjemami v jeziku C ++,

Kaj je obravnava izjem?

Napake motijo ​​normalno izvajanje programa. Obravnava izjem je zelo potrebna in gre za postopek obravnave napak ali izjem. Zagotavlja, da izjeme ne vplivajo na izvajanje programa, in počasi ravna z njimi, ne da bi pri izvedbi programa povzročal kakršno koli težavo.

Ko razmišljate o obravnavi izjem, so z njim povezani trije izrazi,

Poskusi

Koda v tem bloku je kot poskusna koda, ki lahko povzroči izjemo. Ta izjema je ujeta znotraj bloka catch.

Ujemite

Koda v tem bloku se izvede, ko koda v poskusnih blokih vrže izjemo.

Vrzi

Ta ključna beseda se uporablja za vrnitev izjeme, ko se pojavi. Izjema se pošlje obdelovalcu izjem.

Sintaksa:

Koda znotraj poskusnega bloka se izvede. Če pride do napake, ključna beseda throw vrne izjemo v obdelovalec izjem, to je blok catch. Blok catch je nato izvedel kodo, ki je znotraj bloka, s čimer je obdelal izjemo.

Oglejmo si vzorčno kodo za obravnavo izjem v c ++

Vzorčna koda

#include z uporabo imenskega prostora std try {// code for try throw & ldquoexception & rdquo} catch (izjema) {// code for catch} int main () {int x = 1 try {cout<< 'Try Block: '<

Izhod:

Izhod - obravnava izjem v C ++ - Edureka

Pojasnilo

Ta program prikazuje ravnanje z izjemami. Imamo spremenljivko x, ki ji je dodeljena vrednost 1. Nato imamo začetek poskusnega bloka. V tem bloku imamo stavek if s pogojem x<10.

funkcija statičnega člana c ++

V našem primeru je pogoj resničen, saj je x enak. Nato program vrže izjemo in nadzor se premakne, da ujame blok. Pogoj izvedemo v delu catch in zapremo blok.

ulov (...) {strošek<< 'Default Exceptionn'<

Nazadnje izvedemo preostale izjave po ulovnem bloku in izhodnem programu.

Izjava o ulovu je lahko več, odvisno od števila možnih izjem.

Nadaljujemo s tem člankom o ravnanju z izjemami v jeziku C ++,

Napaka bloka ulova

Upoštevajte prejšnji program, če namesto x ključna beseda throw vrže 'ABC', potem funkcija catch ne bo zmogla. Prikazal se bo napaka,

V tem primeru se nam lahko prikaže sporočilo o napaki.

Da bi to rešili, moramo kodi dodati privzeto funkcijo catch, da lahko obravnavamo takšne težave.

#include z uporabo imenskega prostora std int main () {int x = 1 poskus {cout<< 'Try Block: '<

Izhod:

Pojasnilo:

Ta koda je podobna prejšnji. Edina sprememba je, da je vržena izjema tipa char. Posledica tega je, da je naša funkcija ulova neuporabna. Vključili smo torej privzeto funkcijo ulova.

Če se nobeden od stavkov catch ne ujema, se izvede privzeti catch.

Več blokov ulova

V enem bloku poskusov je lahko več blokov ulova.

Tu je primer,

#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<

Izhod:

Pojasnilo:

V zgornji kodi uporabljamo več stavkov catch. Imamo preizkus funkcije, ki generira izjemo. V prvem testnem primeru je vrednost 10. Ker je 10 večje od nič, je znak 'a' vržen in ga ujame druga funkcija catch.

V drugem primeru je vrednost manjša od 0, zato se vrže vrednost -1 in jo ujame celoštevilčna izjema

Obravnava izjem v osnovnem in izpeljanem razredu:

Če se ujamejo izjeme osnovnega in izpeljanega razreda, je treba pred osnovnim razredom izvesti ulov izpeljanega razreda.

Tu je nekaj izjem:

  • std :: izjema

  • error_error

  • runtime_error

  • bad_alloc

  • bad_cast

  • slaba_izjema

S tem smo prišli do konca tega spletnega dnevnika na temo „Obravnava izjem v C ++“. Upam, da ste našli to informativno in koristno, spremljajte še več vaj o podobnih temah. Lahko si ogledate tudi naš program usposabljanja to lahko pridobite poglobljeno znanje o jQueryju in njegovih različnih aplikacijah za spletno usposabljanje v živo s podporo 24 ur na dan in 7 dni v tednu.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje tega spletnega dnevnika in javili se vam bomo.