Kuidas rakendada erandite käsitlemist C ++ versioonis?

See artikkel aitab teil mõista, mis on erandite käitlemine ja kuidas rakendada erandite käsitlemist C ++ -s koos praktilise tutvustusega.

Erandid on ebanormaalsed tingimused tööaja või kompileerimisaja jooksul. on c ++ -s väga oluline mõiste. Selles artiklis tutvustatakse C ++ versioonis erandite käsitlemist koos selle eri tüüpidega.



Järgmisi näpunäiteid käsitletakse selles artiklis,



Alustagem siis

Erandite käsitlemine C ++ keeles

Erandite tüübid

On kahte tüüpi erandeid,



kuidas programmi java lõpetada

Käitusaja erand

See on jooksuajal püütud erand.

Kompileerimisaegne erand



See on kompileerimise ajal püütud erand.

Selle artikliga C ++ tehtud erandite käsitlemise artikli jätkamine

Mis on erandite käsitlemine?

Vead häirivad programmi tavapärast käivitamist. Erandite käsitlemine on väga vajalik ja see on vigade või erandite käsitlemise protsess. See tagab, et erandid ei mõjuta programmi käivitamist, ja tegeleb nendega aeglaselt, põhjustamata programmi täitmisele probleeme.

Erandite käsitlemisel on sellega seotud kolm mõistet,

Proovige

Selles plokis olev kood on nagu proovikood, mis võib põhjustada erandi. See erand on kinni püügiplokist.

Saak

Selle ploki kood käivitatakse, kui prooviplokkide kood loob erandi.

Viska

Seda märksõna kasutatakse erandi tegemiseks, kui see ette tuleb. Erand saadetakse erandite käitlejale.

Süntaks:

Prooviploki sees olev kood käivitatakse. Kui genereeritakse viga, viskab märksõnavise erandi erandkäsitlejale, see tähendab püüdmisploki. Seejärel käivitas blokeerimisplokk koodi, mis on selle plokis sees, käsitledes seega erandit.

Heitkem pilk erandite käsitlemise koodile c ++

Näidiskood

#include nimeruumi standard proovimine {// kood proovimiseks viska & ldquoexception & rdquo} püüd (erand) {// saagi kood} int main () {int x = 1 proov {cout<< 'Try Block: '<

Väljund:

Väljund - erandite käsitlemine C ++ keeles - Edureka

Selgitus

See programm näitab erandite käsitlemist. Meil on muutuja x, millele määratakse väärtus 1. Siis on meil prooviploki algus. Selles plokis on meil if-lause tingimusega x<10.

Meie puhul on tingimus tõene, kuna x on üks. Seejärel viskab programm erandi ja juht nihkub blokeerimiseks. Täidame tingimuse saagiosas ja väljume plokist.

saak (...) {maksumus<< 'Default Exceptionn'<

Viimasena täidame ülejäänud väited pärast püüdmisblokki ja väljumisprogrammi.

Võib olla mitu püügiaruannet, sõltuvalt võimalike erandite arvust.

Selle artikliga C ++ tehtud erandite käsitlemise artikli jätkamine

Püügiploki tõrge

Mõelge eelmisele programmile, kui viske märksõna viskab x asemel „ABC”, siis ei saa püüdmisfunktsioon sellega hakkama. See näitab viga,

Sel juhul kuvatakse meie võidetud veateade.

Selle lahendamiseks peame selliste probleemide lahendamiseks lisama koodile vaikefunktsiooni.

#include nimeruumi kasutamine st int main () {int x = 1 proovige {cout<< 'Try Block: '<

Väljund:

Selgitus:

See kood sarnaneb eelmisega. Ainus muudatus on see, et visatud erand on tüüpi char. Selle tulemusel on meie püüdmisfunktsioon kasutu. Nii oleme lisanud vaikepüügi funktsiooni.

Kui ükski püügilausetest ei sobi, siis käivitatakse vaikepüük.

Mitu püüdmisplokki

Ühes proovimisplokis võib olla mitu püüdmisplokki.

Siin on näide,

#include nimeruumi kasutamine st int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Väljund:

Selgitus:

Ülaltoodud koodis kasutame mitut püügilauset. Meil on funktsiooni test, mis loob erandi. Esimesel katsel on väärtus 10. Kuna 10 on suurem kui null, visatakse täht ‘a’ ja teine ​​tabamisfunktsioon püüab selle kinni.

Teisel juhul on väärtus väiksem kui 0, nii et väärtus -1 visatakse ja see on seotud täisarvu erandiga

Erandite käsitlemine põhi- ja tuletatud klassis:

Kui põhi- ja tuletatud klassi erandid on tabatud, tuleb tuletatud klassi püük teostada enne baasklassi.

Siin on mõned erandid:

  • std :: erand

  • loogika_viga

  • runtime_error

  • halb_alloc

  • halb_levi

  • halb_erand

Sellega jõuame selle blogi lõppu teemal ‘Exception Handling In C ++’. Loodan, et leidsite selle informatiivse ja kasuliku. Olge kursis rohkemate sarnaste teemade õpetustega. Võite vaadata ka meie koolitusprogrammio saate põhjalikke teadmisi jQuery ja selle erinevate rakenduste kohta reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid selle blogi kommentaaride jaotises ja võtame teiega ühendust.