Kako implementirati rukovanje iznimkama u C ++?



Ovaj će vam članak pomoći da shvatite što je rukovanje iznimkama i kako implementirati rukovanje iznimkama u C ++ uz praktične demonstracije.

Iznimke su abnormalni uvjeti tijekom vremena izvođenja ili vremena sastavljanja. je vrlo bitan koncept u jeziku c ++. Ovaj će vas članak upoznati s rukovanjem iznimkama u C ++-u, zajedno s različitim vrstama.

U ovom će članku biti obrađeni sljedeći smjerovi,





Pa krenimo onda,

Rukovanje iznimkama na C ++

Vrste iznimki

Dvije su vrste izuzetaka,



Iznimka vremena izvođenja

To je iznimka uhvaćena za vrijeme izvođenja.

Izuzetak tijekom prijevoda



To je iznimka uhvaćena tijekom vremena kompajliranja.

Nastavljajući s ovim člankom o rukovanju iznimkama na C ++,

Što je postupanje s iznimkama?

Pogreške remete normalno izvršavanje programa. Rukovanje iznimkama je vrlo neophodno, a to je postupak rukovanja pogreškama ili iznimkama. Osigurava da iznimke ne utječu na izvršenje programa te ih polako obrađuje bez izazivanja bilo kakvih problema s izvršavanjem programa.

Kada uzmete u obzir postupanje s iznimkama, uz njega su povezana tri pojma,

Probati

Kôd unutar ovog bloka sličan je probnom kodu, što može dovesti do iznimke. Ova je iznimka uhvaćena unutar bloka catch.

Ulov

Kôd u ovom bloku izvršava se kada kôd u blokovima try izuzme.

gdje bi varijable instance trebale biti deklarirane u javi

Bacanje

Ova se ključna riječ koristi za izbacivanje iznimke kada se naiđe. Izuzetak se šalje obrađivaču iznimki.

Sintaksa:

Izvodi se kôd unutar bloka try. Ako se generira pogreška, tada ključna riječ throw izbaci izuzetak na obrađivač izuzetaka, odnosno blok catch. Blok catch zatim je izvršio kôd koji se nalazi unutar njegovog bloka, obrađujući tako iznimku.

Pogledajmo uzorak koda za rukovanje iznimkama u jeziku c ++

Uzorak koda

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

Izlaz:

Izlaz - rukovanje iznimkama u C ++ - Edureka

Obrazloženje

program serije fibonacci u javi

Ovaj program pokazuje rukovanje iznimkama. Imamo varijablu x, kojoj je dodijeljena vrijednost 1. Tada imamo početak bloka try. U ovom bloku imamo izraz if s uvjetom x<10.

U našem slučaju uvjet je istinit kao što je x jedan. Tada program izbacuje iznimku i kontrola se prebacuje na catch block. Izvršavamo uvjet u dijelu catch i izlazimo iz bloka.

ulov (...) {trošak<< 'Default Exceptionn'<

Na kraju, izvršavamo preostale izjave nakon bloka catch i izlaznog programa.

Izjava o ulovu može biti višestruka, ovisno o broju mogućih izuzetaka.

Nastavljajući s ovim člankom o rukovanju iznimkama na C ++,

Neuspjeh bloka hvatanja

Razmotrite prethodni program, ako umjesto x ključna riječ throw baci 'ABC', tada funkcija catch neće moći to obraditi. Pokazat će pogrešku,

U tom se slučaju može prikazati naša osvojena poruka o pogrešci.

Da bismo to riješili, u kôd moramo dodati zadanu funkciju catch za rješavanje takvih problema.

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

Izlaz:

Obrazloženje:

Ovaj je kod sličan prethodnom. Jedina promjena je u tome što je izbačena iznimka tipa char. To rezultira beskorisnošću naše funkcije ulova. Dakle, uključili smo zadanu funkciju ulova.

Ako se niti jedan izraz catch ne podudara, tada se izvršava zadani catch.

Više blokova ulova

Može biti više blokova ulova u jednom bloku pokušaja.

Evo primjera,

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

Izlaz:

Obrazloženje:

pretvoriti decimalni u binarni python kôd

U gornjem kodu koristimo više izjava catch. Imamo test funkcije koji generira iznimku. U prvom testnom slučaju vrijednost je 10. Budući da je 10 veće od nule, znak 'a' se baca i hvata ga druga funkcija catch.

U drugom slučaju, vrijednost je manja od 0, pa se vrijednost -1 baca i zahvaća cijelom iznimkom

Rukovanje iznimkama u osnovnoj i izvedenoj klasi:

Ako se uhvate iznimke osnovne i izvedene klase, tada se catch izvedene klase mora izvršiti prije osnovne klase.

Evo nekoliko iznimaka:

  • std :: iznimka

  • logička_pogreška

  • runtime_error

  • bad_alloc

  • bad_cast

  • loše_izuzeće

Ovim smo došli do kraja ovog bloga na temu „Iznimke u C ++“. Nadam se da vam je ovo bilo informativno i korisno, pratite nas i potražite više vodiča o sličnim temama.o možete dobiti detaljno znanje o jQueryju, zajedno s raznim aplikacijama za mrežni trening uživo s podrškom 24/7 i doživotnim pristupom.

Imate pitanje za nas? Spomenite ih u odjeljku za komentare na ovom blogu pa ćemo vam se javiti.