Kaip įgyvendinti išimčių tvarkymą C ++ versijoje?



Šis straipsnis padės jums suprasti, kas yra išimčių tvarkymas ir kaip praktiškai demonstruojant įgyvendinti išimčių tvarkymą C ++.

Išimtys yra nenormalios sąlygos važiavimo ar kompiliavimo metu. yra labai svarbi c ++ sąvoka. Šis straipsnis supažindins jus su išimčių tvarkymu C ++ ir skirtingais tipais.

Tolimesni patarimai bus aptarti šiame straipsnyje,





Taigi pradėkime tada,

Išimčių tvarkymas C ++

Išimčių rūšys

Yra dviejų rūšių išimtys,



Vykdymo laiko išimtis

Tai išimtis, sugauta bėgimo metu.

Kompiliavimo laiko išimtis



Tai išimtis, sugauta kompiliavimo metu.

Toliau naudodamiesi šiuo C ++ straipsniu apie išimčių tvarkymą,

Kas yra išimčių tvarkymas?

Klaidos sutrikdo įprastą programos vykdymą. Išimčių tvarkymas yra labai reikalingas ir tai yra klaidų ar išimčių tvarkymo procesas. Ji įsitikina, kad išimtys neturi įtakos programos vykdymui, ir lėtai jas tvarko, nekeldamas jokių problemų programos vykdymui.

Apsvarstydami išimčių tvarkymą, su juo siejami trys terminai,

Bandyti

Šiame bloke esantis kodas yra tarsi bandomasis kodas, kuris gali sukelti išimtį. Ši išimtis užfiksuota gaudymo bloko viduje.

Pagauti

Šio bloko kodas vykdomas, kai bandomųjų blokų kodas išmeta išimtį.

Mesti

Šis raktinis žodis naudojamas išimčiai, kai ji susiduriama. Išimtis siunčiama išimčių tvarkytojui.

Sintaksė:

Vykdomas bandymo bloko kodas. Jei yra sugeneruota klaida, tada raktinio žodžio metimas išmeta išimtis išimčių tvarkytuvui, t. Tada sugavimo blokas įvykdė kodą, esantį jo bloke, taip tvarkydamas išimtį.

Pažvelkime į pavyzdžių kodą, kaip tvarkyti išimtis c ++

Kodo pavyzdys

#include naudojant vardų sritį std try {// kodas bandymui mesti & ldquoexception & rdquo} gaudyti (išimtis) {// gaudymo kodas} int main () {int x = 1 try {cout<< 'Try Block: '<

Išvestis:

Rezultatas - išimčių tvarkymas C ++ - „Edureka“

Paaiškinimas

Ši programa demonstruoja išimčių tvarkymą. Mes turime kintamąjį x, kuriam priskiriama reikšmė 1. Tada turime bandymo bloko pradžią. Šiame bloke turime sakinį if su sąlyga x<10.

java pakeisti dvigubai į int

Mūsų atveju sąlyga yra teisinga, nes x yra vienas. Tada programa išmeta išimtį, o valdiklis pereina į blokavimo bloką. Mes įvykdome sąlygą sugavimo dalyje ir išeiname iš bloko.

pagauti (...) {kaina<< 'Default Exceptionn'<

Galiausiai vykdome likusius sakinius po sugavimo bloko ir išėjimo programos.

Gali būti keli sugavimo pareiškimai, atsižvelgiant į galimų išimčių skaičių.

Toliau naudodamiesi šiuo C ++ straipsniu apie išimčių tvarkymą,

Sugavimo bloko gedimas

Apsvarstykite ankstesnę programą, jei vietoj x metimo raktinis žodis meta „ABC“, tada „catch“ funkcija negalės jos valdyti. Tai parodys klaidą,

Tokiu atveju galime parodyti mūsų laimėtą klaidos pranešimą.

Norėdami tai išspręsti, turime į kodą įtraukti numatytąją sugavimo funkciją, kad galėtume spręsti tokias problemas.

#include naudojant vardų sritį std int main () {int x = 1 pabandykite {cout<< 'Try Block: '<

Rezultatas:

Paaiškinimas:

Šis kodas yra panašus į ankstesnį. Vienintelis pokytis yra tai, kad metama išimtis yra char tipo. Dėl to mūsų gaudymo funkcija yra nenaudinga. Taigi mes įtraukėme numatytąją sugavimo funkciją.

Jei nė vienas iš sugavimo teiginių neatitinka, vykdomas numatytasis gaudymas.

Keli sugavimo blokai

Vieno bandymo bloko gali būti keli sugavimo blokai.

Štai pavyzdys

ką java reiškia trumpalaikis
#include naudojant vardų sritį std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Išvestis:

Paaiškinimas:

Pirmiau pateiktame kode mes naudojame kelis sugavimo teiginius. Mes turime funkcijų testą, kuris sukuria išimtį. Pirmuoju bandymo atveju vertė yra 10. Kadangi 10 yra didesnis nei nulis, simbolis „a“ išmetamas ir jį sugauna antroji sugavimo funkcija.

Antruoju atveju vertė yra mažesnė nei 0, todėl vertė -1 išmetama ir ją užgauna sveiko skaičiaus išimtis

Išimčių tvarkymas pagrindinėje ir išvestinėje klasėje:

Jei pagaunamos pagrindinės ir išvestinės klasės išimtys, išvestinės klasės laimikis turi būti įvykdytas prieš pagrindinę klasę.

Štai keletas išimčių:

  • std :: išimtis

  • logic_error

  • Klaida

  • blogas_alokas

  • blogas_renginys

  • blogas_išimtis

Tuo mes baigiame šio tinklaraščio apie „Išimčių tvarkymą C ++“ pabaigoje. Tikiuosi, kad jums pasirodė šis informatyvus ir naudingas, stebėkite daugiau pamokymų panašiomis temomis. Taip pat galite patikrinti mūsų mokymo programą to galite gauti išsamių žinių apie „jQuery“ kartu su įvairiomis jo programomis tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.

Turite mums klausimą? Paminėkite juos šio tinklaraščio komentarų skiltyje ir mes su jumis susisieksime.