Hogyan lehet megvalósítani a kivételkezelést C ++ nyelven?



Ez a cikk segít megérteni, mi a kivételkezelés, és hogyan lehet a kivételkezelést gyakorlati bemutatóval megvalósítani a C ++ nyelven.

Kivételek rendellenes körülmények a futási vagy a fordítási idő alatt. nagyon fontos fogalom a c ++ - ban. Ez a cikk bemutatja a kivételkezelést a C ++ nyelven, annak különböző típusaival együtt.

A következő hivatkozásokkal foglalkozunk ebben a cikkben,





Tehát kezdjük el,

Kivételek kezelése C ++ nyelven

Kivételek típusai

Kétféle kivétel létezik,



Futási idő kivétel

Ez egy kivétel, amelyet futási idő alatt kaptak el.

Összeállítás-idejű kivétel



Ez egy fordítás idején fogott kivétel.

Továbblépve ezzel a kivételkezelő cikkel a C ++ nyelven,

Mi a kivételkezelés?

A hibák megzavarják a program normál végrehajtását. A kivételkezelés nagyon szükséges, és ez a hibák vagy kivételek kezelésének folyamata. Biztosítja, hogy a kivételek ne befolyásolják a program végrehajtását, és lassan kezeli azokat anélkül, hogy bármilyen problémát okozna a program végrehajtásában.

Ha figyelembe vesszük a kivételkezelést, három kifejezés kapcsolódik hozzá,

Próbálja meg

A blokk belsejében lévő kód olyan, mint egy próbakód, ami kivételt jelenthet. Ez a kivétel a fogási blokk belsejében található.

Fogás

A blokk kódja akkor kerül végrehajtásra, amikor a try blokkok kódja kivételt dob.

hogyan lehet megtalálni az adattípust a pythonban

Dobás

Ezt a kulcsszót arra használják, hogy kivételt tegyen, amikor találkozik vele. A kivételt a kivételkezelőhöz küldjük.

Szintaxis:

A try blokk belsejében lévő kód végrehajtásra kerül. Ha hiba keletkezik, akkor a dobás kulcsszó dobja a kivételt a kivételkezelő, vagyis a fogási blokk alól. Ezután a fogási blokk végrehajtotta a blokkban lévő kódot, kezelve ezzel a kivételt.

Vessünk egy pillantást a kivételkezelés mintakódjára c ++ nyelven

Minta kód

#include névtér használatával std try {// kód a próbálkozáshoz dobás & ldquoexception & rdquo} fogás (kivétel) {// kód a fogáshoz} int main () {int x = 1 próbálkozás {cout<< 'Try Block: '<

Kimenet:

Kimenet - Kivételek kezelése C ++ nyelven - Edureka

Magyarázat

Ez a program bemutatja a kivételkezelést. Van egy változónk, amelynek 1 értéke van. Ezután megkezdődik a try blokk. Ebben a blokkban van egy if feltétel az x feltétellel<10.

Esetünkben a feltétel igaz, mivel x egy. Ezután a program kivételt vet, és a vezérlés eltolódik a blokk elkapásáig. A feltételt a fogási részben hajtjuk végre, és kilépünk a blokkból.

fogás (...) {költség<< 'Default Exceptionn'<

Végül a fennmaradó utasításokat a fogási blokk és kilépés program után hajtjuk végre.

Több fogási nyilatkozat lehet, a lehetséges kivételek számától függően.

Továbblépve ezzel a kivételkezelő cikkel a C ++ nyelven,

Catch Block Failure

Tekintsük az előző programot, ha az x helyett a dob kulcsszó „ABC” -t dob, akkor a fogási funkció nem fogja tudni kezelni. Hibát fog mutatni,

Ilyen esetben megjelenhet a nyert hibaüzenetünk.

Ennek megoldásához hozzá kell adnunk egy alapértelmezett catch függvényt a kódhoz az ilyen problémák kezeléséhez.

#include névtér használatával std int main () {int x = 1 próbáld ki {cout<< 'Try Block: '<

Teljesítmény:

Magyarázat:

Ez a kód hasonló az előzőhöz. Az egyetlen változás az, hogy a dobott kivétel char típusú. Ennek eredményeként a fogási funkciónk haszontalan. Tehát beépítettünk egy alapértelmezett fogási funkciót.

Ha egyik fogási utasítás sem egyezik, akkor az alapértelmezett fogás kerül végrehajtásra.

Több elkapási blokk

Egy próbálkozási blokkból több elkapási blokk lehet.

Itt van egy példa,

#include névtér használata std int teszt (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Kimenet:

Magyarázat:

A fenti kódban több fogási utasítást használunk. Van egy funkciótesztünk, amely kivételt generál. Az első tesztesetben az érték 10. Mivel 10 nagyobb, mint nulla, „a” karaktert dobunk, és a második elkapási függvény elkapja.

A második esetben az érték kisebb, mint 0, így a -1 értéket dobják, és egész kivételek fogják el

Kivétel kezelése az alap és a származtatott osztályban:

c ++ egyesítés rendezési algoritmus

Ha az alap- és a származtatott osztály kivételei vannak, akkor a származtatott osztály fogását az alaposztály előtt kell végrehajtani.

Íme néhány kivétel:

  • std :: kivétel

  • logic_error

  • Futtatási hiba

  • rossz_alloc

  • rossz_cast

  • rossz_kivétel

Ezzel a blog végére értünk a ‘Exception Handling In C ++’ címmel. Remélem, hogy ezt informatívnak és hasznosnak találta, kövesse nyomon a hasonló témájú oktatóanyagokat. Lehet, hogy Ön is megvásárolja képzési programunkato alapos ismereteket szerezhet a jQuery-ről, annak különféle alkalmazásaival együtt élő online képzéshez 24/7 támogatással és egész életen át elérhető hozzáféréssel.

Van egy kérdésünk? Említse meg őket a blog megjegyzés rovatában, és mi kapcsolatba lépünk Önnel.