C++ Pokušajte-Uhvatite-Konačno

C Pokusajte Uhvatite Konacno



C++ pruža metodu 'pokušaj-hvataj' za rukovanje iznimkama. Kada se dogodi iznimka u programu C++, ove metode 'pokušaj uhvatiti' pomažu u prebacivanju kontrole s jednog dijela koda programa na drugi. Iznimka je greška koja se pojavljuje dok program radi. Kada se dogodi izvanredna situacija, kao što je pokušaj dijeljenja s nulom, dok se program izvršava, javlja se C++ iznimka i mi ovu situaciju rješavamo jednostavnim korištenjem metode 'pokušaj-uhvati' u našim kodovima. Sadrži tri ključne riječi: 'pokušaj', 'uhvati' i 'baci'. Ključna riječ 'throw' koristi se za izbacivanje iznimke u drugim dijelovima koda. C++ programiranje ne olakšava nam ključnu riječ 'konačno', ali možemo koristiti ključne riječi 'pokušati', 'uhvatiti' i 'baciti' u C++ kodovima.

Primjer 1:

Ovdje je uključen 'iostream', datoteka zaglavlja u kojoj je deklarirano nekoliko funkcija. Koristimo te funkcije koje su deklarirane u ovoj datoteci zaglavlja u našem kodu, pa uključujemo ovu datoteku zaglavlja. Nakon ovoga, imamo 'std' koji je postavljen ovdje jer su funkcije poput 'cin' i 'cout' također definirane u njemu. Ne moramo upisivati ​​'std' sa svim ovim funkcijama ako dodamo 'namespace std' na početku našeg koda. Nakon toga, ovdje se poziva funkcija 'main()' koja se također naziva kodom upravljačkog programa C++ programa.

Zatim ovdje koristimo ključnu riječ “try” u kojoj inicijaliziramo “my_num1” s vrijednošću “35”. Ovdje je to varijabla tipa podataka 'int'. Sada postavljamo ovu varijablu unutar 'if' i postavljamo uvjet koji kaže da 'my_num1' mora biti veći ili jednak '98'. Ako je zadani uvjet zadovoljen, kreće se naprijed unutar 'if' i izvršava naredbu koja je ovdje napisana. Koristimo 'cout' i umećemo poruku za prikaz kada je uvjet zadovoljen.







Nakon toga koristimo ključnu riječ 'baci' nakon postavljanja 'drugo'. U ovoj ključnoj riječi “throw” prosljeđujemo “my_num1” kao parametar. Ispod ovoga dodajemo dio 'catch'. Umećemo 'my_num2' kao parametar 'catch()', a zatim ponovno koristimo 'cout' unutar ovog 'catch' dijela. Ovaj dio se izvršava samo kada se dogodi iznimka u dijelu 'pokušaj'.



Kod 1:



#include
korištenjem imenski prostor std ;
int glavni ( ) {
probati {
int moj_broj1 = 35 ;
ako ( moj_broj1 >= 98 ) {
cout << 'Pristup je ovdje odobren.' ;
} drugo {
bacanje ( moj_broj1 ) ;
}
}
ulov ( int moj_broj2 ) {
cout << 'Pristup je ovdje odbijen.' << endl ;
cout << 'Broj je: ' << moj_broj2 ;
}
povratak 0 ;
}

Izlaz:
Broj koji smo unijeli je “35” što je manje od “98”. Dakle, tamo se pojavljuje iznimka i prikazuje se dio 'catch()'. Pristup dijelu 'pokušaj' je odbijen.





Primjer 2:

Ovdje postavljamo datoteku zaglavlja 'iostream' i 'namespace std'. Nakon toga kreiramo funkciju “division()” u koju postavljamo dva parametra koji su “brojnik” i “nazivnik” tipa podataka “int”. Tip podataka ove funkcije 'dijeljenja' postavili smo na 'double'.



Ispod ovoga dodajemo “if()” u kojem dodajemo uvjet da je nazivnik jednak nuli. Nakon toga koristimo ključnu riječ 'baci' i tamo upisujemo poruku. Ova se poruka prikazuje kad god se pojavi iznimka u ovom kodu prema uvjetu. Ispod toga koristimo ključnu riječ 'povratak' u koju stavljamo 'brojnik/nazivnik'. Dakle, vraća rezultat dijeljenja. Sada se poziva funkcija “main()”.

Nakon toga, “num1” i “num2” se inicijaliziraju kao “int” varijable i dodjeljuju im se “89” odnosno “0”. Zatim inicijaliziramo 'rezultat' tipa podataka 'double'. Ovdje koristimo ključnu riječ 'pokušati'. U ovom dijelu dodajemo ovu varijablu 'rezultat' i toj varijabli dodjeljujemo funkciju 'division()'. Ovoj funkciji prosljeđujemo dva parametra: 'num1' i 'num2'. Ispod toga prikazujemo 'rezultat' koji dobijemo nakon primjene funkcije 'division()'. Nakon toga također koristimo 'catch' i postavljamo 'const char* msg' za prikaz poruke koju smo prethodno dodali.

Kod 2:

#include
korištenjem imenski prostor std ;
dvostruko podjela ( int brojnik, int nazivnik ) {
ako ( nazivnik == 0 ) {
bacanje 'Dijeljenje s nulom ovdje nije moguće!' ;
}
povratak ( brojnik / nazivnik ) ;
}
int glavni ( ) {
int broj1 = 89 ;
int broj2 = 0 ;
dvostruko proizlaziti = 0 ;
probati {
proizlaziti = podjela ( broj1, broj2 ) ;
cout << proizlaziti << endl ;
} ulov ( konst char * poruka ) {
cerr << poruka << endl ;
}
povratak 0 ;
}

Izlaz:
Broj koji smo prethodno umetnuli kao nazivnik je “0”. Dakle, iznimka se pojavljuje u kodu i prikazuje danu poruku.

Primjer 3:

Ovdje se stvara funkcija “multiplication()” u koju postavljamo “value” i “multiplier” kao parametre tipa podataka “int”. Zatim koristimo 'ako' u kojem dodajemo uvjet množitelja koji je jednak nuli. Zatim se 'baci' stavlja tamo gdje dodajemo izjavu. Zatim imamo 'return' gdje postavljamo varijable 'value * multiplier' koje smo prethodno deklarirali. Dakle, ovdje vraća rezultat množenja.

Nakon toga pozivamo “main()” gdje deklariramo “int value1” i “int value2” s vrijednostima “34” odnosno “0”. “Int m_res” također se deklarira i zatim se ovdje naziva funkcija “multiplication()”. Nakon izvođenja ove funkcije, rezultat se sada sprema u varijablu 'm_res' i zatim se prikazuje. Nakon toga koristimo funkciju 'catch' i umećemo 'const char* msg' kako bismo prikazali poruku koju smo prethodno dodali u dijelu 'throw'.

Kod 3:

#include
korištenjem imenski prostor std ;
dvostruko množenje ( int vrijednost, int multiplikator ) {
ako ( multiplikator == 0 ) {
bacanje 'Vrijednost ne množimo s nulom!' ;
}
povratak ( vrijednost * multiplikator ) ;
}
int glavni ( ) {
int vrijednost1 = 3. 4 ;
int vrijednost2 = 0 ;
int m_rez ;
probati {
m_rez = množenje ( vrijednost1, vrijednost2 ) ;
cout << m_rez << endl ;
} ulov ( konst char * poruka ) {
cerr << poruka << endl ;
}
povratak 0 ;
}

Izlaz :
Budući da vrijednost koju smo prethodno unijeli ima '0' kao množitelj, kod ima iznimku koja uzrokuje da se obavijest prikazuje ovdje.

Primjer 4:

Ovdje gradimo funkciju 'multiply()' i prosljeđujemo 'number1' i 'number2' kao parametre tipa podataka 'int'. Zatim koristimo operator 'if' da mu dodamo uvjet koji je množitelj manji ili jednak nuli. Nakon toga, izjava se dodaje tamo gdje bi trebalo biti 'baciti'. Rezultat množenja se zatim vraća u odjeljak 'return' gdje umećemo varijablu 'number1 * number2' koju smo prethodno deklarirali.

Nakon toga pozivamo funkciju “main()” i dodjeljujemo vrijednosti “34” i “12” redom “int newNumber1” i “int newNumber2”. Ovdje se funkcija 'multiply()' poziva nakon deklaracije 'int mResult'. Sada je ishod ove funkcije pohranjen u varijabli 'mResult' i prikazan je u nastavku. Zatim koristimo funkciju 'catch' i dodajemo 'const char* msg' za prikaz poruke koju smo napisali u odjeljku 'throw'.

Kod 4:

#include
korištenjem imenski prostor std ;
dvostruko pomnožiti ( int broj 1 , int broj2 ) {
ako ( broj2 <= 0 ) {
bacanje 'Mi ne množimo vrijednost s nulom ili negativnom vrijednošću!' ;
}
povratak ( broj 1 * broj2 ) ;
}
int glavni ( ) {
int noviNum1 = 3. 4 ;
int noviBr2 = 12 ;
int mRezultat ;
probati {
mRezultat = pomnožiti ( noviNum1, noviNum2 ) ;
cout << 'Rezultat množenja je' << mRezultat << endl ;
}
ulov ( konst char * poruka ) {
cerr << poruka << endl ;
}
povratak 0 ;
}

Izlaz:
Vrijednost koju dodajemo je “12” na koju dodajemo uvjet. Dakle, funkcija 'multiply()' se izvodi jer uvjet nije istinit. Prikazuje se rezultat množenja. Ovdje se izvodi dio 'pokušaj'.

Zaključak

Koncept 'pokušaj-uhvati' i kodovi u ovom vodiču detaljno su proučeni. Temeljito smo istražili ovaj koncept 'pokušaj-uhvati' i pokazali kako funkcionira u C++ programiranju. Definirali smo da izraz 'baci' stvara iznimku kada se pronađe pogreška što nam omogućuje pisanje jedinstvenog koda. Pomoću izraza 'catch' možemo odrediti blok koda koji će se pokrenuti ako se pojavi iznimka u dijelu 'try'.