Kuinka toteuttaa poikkeusten käsittely C ++: ssa?



Tämä artikkeli auttaa sinua ymmärtämään, mikä on poikkeusten käsittely ja miten poikkeusten käsittely toteutetaan C ++: ssa käytännön esittelyllä.

Poikkeukset ovat epänormaalit olosuhteet ajo- tai kokoamisajan aikana. on erittäin tärkeä käsite c ++: ssa. Tässä artikkelissa esitellään poikkeusten käsittely C ++ - ohjelmassa ja sen eri tyypit.

Seuraavat vihjeet käsitellään tässä artikkelissa,





Joten aloitetaan sitten,

Poikkeusten käsittely C ++: ssa

Poikkeustyypit

Poikkeuksia on kahdenlaisia,



Ajoajan poikkeus

Se on poikkeus, joka on kiinni ajon aikana.

Kokoamisajan poikkeus



Se on poikkeus, joka on kiinni käännösaikana.

Tämän C ++: n poikkeuskäsittelyartikkelin kanssa

Mikä on poikkeusten käsittely?

Virheet häiritsevät ohjelman normaalia suoritusta. Poikkeusten käsittely on erittäin välttämätöntä, ja se on virheiden tai poikkeusten käsittelyprosessi. Se varmistaa, että poikkeukset eivät vaikuta ohjelman suoritukseen, ja käsittelee ne hitaasti aiheuttamatta mitään ongelmia ohjelman suoritukselle.

Kun tarkastelet poikkeusten käsittelyä, siihen liittyy kolme termiä,

merkkijono tähän mennessä java

Yrittää

Tämän lohkon sisällä oleva koodi on kuin kokeilukoodi, joka saattaa aiheuttaa poikkeuksen. Tämä poikkeus on kiinni salpalohkon sisällä.

Ottaa kiinni

Tämän lohkon koodi suoritetaan, kun kokeilulohkojen koodi heittää poikkeuksen.

Heittää

Tätä avainsanaa käytetään heittämään poikkeus, kun se esiintyy. Poikkeus lähetetään poikkeuskäsittelijälle.

Syntaksi:

Kokeilulohkon sisällä oleva koodi suoritetaan. Jos syntyy virhe, avainsanan heitto heittää poikkeuksen poikkeuskäsittelijään, eli saalislohkoon. Salpalohko suoritti sitten koodin, joka on lohkon sisällä, käsittelemällä näin poikkeuksen.

Katsotaanpa esimerkkikoodia poikkeusten käsittelyä varten c ++: ssa

Näytekoodi

.<< 'Try Block: '<

Tuotos:

Tuotos - poikkeusten käsittely C ++ - Edureka

Selitys

Tämä ohjelma osoittaa poikkeusten käsittelyn. Meillä on muuttuja x, jolle on annettu arvo 1. Sitten on kokeilulohkon alku. Tässä lohkossa meillä on if-lauseke ehdolla x<10.

Meidän tapauksessamme ehto on totta, koska x on yksi. Sitten ohjelma heittää poikkeuksen ja ohjaus siirtyy kiinnipitoon. Suoritamme ehdon saalisosassa ja poistumme lohkosta.

saalis (...) {hinta<< 'Default Exceptionn'<

Viimeisenä suoritamme loput lauseet kiinnipitolohkon ja poistumisohjelman jälkeen.

Saalislauseketta voi olla useita, mahdollisten poikkeusten lukumäärästä riippuen.

Tämän C ++: n poikkeuskäsittelyartikkelin kanssa

Catch Block Failure

Tarkastellaan edellistä ohjelmaa. Jos heitto-avainsana heittää x: n sijasta “ABC”, sieppaustoiminto ei pysty käsittelemään sitä. Se näyttää virheen,

Voimme saada voitetun virheilmoituksen näkyviin tällaisessa tapauksessa.

Tämän ratkaisemiseksi meidän on lisättävä koodiin oletuslukitustoiminto tällaisten ongelmien käsittelemiseksi.

#include käyttämällä nimitilaa std int main () {int x = 1 kokeile {cout<< 'Try Block: '<

Tuotos:

Selitys:

Tämä koodi on samanlainen kuin edellinen. Ainoa muutos on, että heitetty poikkeus on tyypin char. Tämän seurauksena saalisfunktiomme on hyödytön. Joten olemme sisällyttäneet oletustoiminnon.

Jos mikään saalislausekkeista ei vastaa toisiaan, oletussuojaus suoritetaan.

Useita kiinnityslohkoja

Yhdellä kokeilulohkolla voi olla useita kiinniottolohkoja.

Tässä on esimerkki

#include käyttämällä nimitilaa std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Tuotos:

Selitys:

Yllä olevassa koodissa käytämme useita saalislausekkeita. Meillä on toimintatesti, joka luo poikkeuksen. Ensimmäisessä testitapauksessa arvo on 10. Koska 10 on suurempi kuin nolla, merkki a heitetään ja toinen saalisfunktio tarttuu siihen.

Toisessa tapauksessa arvo on pienempi kuin 0, joten arvo -1 heitetään ja kokonaislukupoikkeus tarttuu siihen

Poikkeusten käsittely perus- ja johdetussa luokassa:

Jos perus- ja johdettujen luokkien poikkeukset jäävät kiinni, johdetun luokan saalis on suoritettava ennen perusluokkaa.

Tässä on joitain poikkeuksia:

Tämän avulla olemme tämän blogin lopussa, joka käsittelee ”Exception Handling In C ++” -sivustoa. Toivon, että löysit tämän informatiivisen ja hyödyllisen, pysy kuulolla lisää samankaltaisia ​​aiheita käsitteleviä oppaita. Voit myös tarkistaa koulutusohjelmamme to saada perusteellista tietoa jQuerystä ja sen eri sovelluksista, voit live-verkkokoulutukseen 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse ne tämän blogin kommenttiosassa ja palaamme sinuun.