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:
Obrazloženje
program serije fibonacci u javiOvaj 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ôdU 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.