C++ Kokeile-Catch-Finally

C Kokeile Catch Finally



C++ tarjoaa 'try-catch' -menetelmän poikkeusten käsittelemiseen. Kun C++-ohjelmassa tapahtuu poikkeus, nämä 'try-catch' -menetelmät auttavat siirtämään ohjauksen ohjelman koodin yhdestä osasta toiseen. Poikkeuksena on häiriö, joka ilmenee ohjelman ollessa käynnissä. Kun poikkeuksellinen tilanne, kuten yritetään jakaa nollalla, tapahtuu ohjelman suorituksen aikana, C++-poikkeus nostetaan esiin ja käsittelemme tämän tilanteen yksinkertaisesti käyttämällä 'try-catch' -menetelmää koodeissamme. Se sisältää kolme avainsanaa: 'kokeile', 'saappaa' ja 'heittää'. 'Heitä'-avainsanaa käytetään heittämään poikkeus muissa koodin osissa. C++-ohjelmointi ei helpota meitä 'vihdoin'-avainsanalla, mutta voimme käyttää 'kokeile', 'saappaa' ja 'heittä'-avainsanoja C++-koodeissa.

Esimerkki 1:

'iostream' sisältyy tähän, otsikkotiedosto, jossa on ilmoitettu useita toimintoja. Käytämme näitä toimintoja, jotka on ilmoitettu tässä otsikkotiedostossa koodissamme, joten sisällytämme tämän otsikkotiedoston. Tämän jälkeen meillä on 'std', joka on sijoitettu tähän, koska siinä on myös määritelty funktiot, kuten 'cin' ja 'cout'. Meidän ei tarvitse kirjoittaa 'std' kaikilla näillä funktioilla, jos lisäämme 'nimiavaruuden std' koodimme alkuun. Tämän jälkeen tässä vedetään main()-funktio, jota kutsutaan myös C++-ohjelman ajurikoodiksi.

Sitten käytämme tässä 'try'-avainsanaa, jossa alustamme 'my_num1' arvolla '35'. Se on 'int' -tietotyyppimuuttuja tässä. Nyt asetamme tämän muuttujan 'if' -kohdan sisään ja asetamme ehdon, joka sanoo, että 'my_num1' on oltava suurempi tai yhtä suuri kuin '98'. Jos annettu ehto täyttyy, se siirtyy eteenpäin 'if':n sisällä ja suorittaa tähän kirjoitetun käskyn. Käytämme 'cout' -toimintoa ja lisäämme viestin, joka näytetään, kun ehto täyttyy.







Tämän jälkeen käytämme sanaa 'heittä' sanan 'muut' jälkeen. Tässä 'heittä'-avainsanassa annamme parametriksi 'my_num1'. Lisäämme 'saalis' osan tämän alle. Lisäämme 'my_num2' 'catch()'-parametriksi ja käytämme sitten 'cout' uudelleen tämän 'catch'-osan sisällä. Tämä osa suoritetaan vain, kun 'kokeile'-osassa tapahtuu poikkeus.



Koodi 1:



#include
käyttämällä nimiavaruus std ;
int pää ( ) {
yrittää {
int minun_numero1 = 35 ;
jos ( minun_numero1 >= 98 ) {
cout << 'Pääsyoikeus myönnetään täällä.' ;
} muu {
heittää ( minun_numero1 ) ;
}
}
ottaa kiinni ( int my_num2 ) {
cout << 'Pääsy on kielletty täällä.' << endl ;
cout << 'Numero on:' << my_num2 ;
}
palata 0 ;
}

Lähtö:
Syöttämämme numero on '35', joka on pienempi kuin '98'. Joten poikkeus tapahtuu siellä ja 'catch()' -osa näytetään. Pääsy 'kokeile'-osaan on estetty.





Esimerkki 2:

Sijoitamme 'iostream'-otsikkotiedoston tähän ja 'namespace std'. Tämän jälkeen luomme 'jako()'-funktion, johon asetamme kaksi parametria, jotka ovat 'int'-tietotyypin 'osoittaja' ja 'nimittäjä'. Asetamme tämän 'jako'-funktion tietotyypiksi 'double'.



Tämän alle lisäämme 'if()', johon lisäämme ehdon, että nimittäjä on nolla. Tämän jälkeen käytämme 'heittää' -avainsanaa ja kirjoitamme siihen viestin. Tämä viesti näytetään aina, kun poikkeus tapahtuu tässä koodissa ehdon mukaan. Tämän alapuolella käytämme 'paluu'-avainsanaa, johon asetamme 'osoittaja/nimittäjä'. Joten se palauttaa jaon tuloksen. Nyt kutsutaan 'main()'-funktiota.

Tämän jälkeen 'num1' ja 'num2' alustetaan 'int'-muuttujiksi ja määrittävät niille '89' ja '0'. Sitten alustamme 'kaksinkertaisen' tietotyypin 'tuloksen'. Tässä käytämme 'kokeile' -avainsanaa. Tässä osassa lisäämme tämän 'tulos'-muuttujan ja määritämme tälle muuttujalle 'jako()'-funktion. Välitämme kaksi parametria tälle funktiolle: 'num1' ja 'num2'. Tämän alapuolella näytämme 'tuloksen', jonka saamme 'jako()'-funktion käytön jälkeen. Tämän jälkeen hyödynnämme myös 'catch' ja asetamme 'const char* msg' näyttääksesi aiemmin lisäämämme viestin.

Koodi 2:

#include
käyttämällä nimiavaruus std ;
kaksinkertainen jako ( int osoittaja, int nimittäjä ) {
jos ( nimittäjä == 0 ) {
heittää 'Nollalla jako ei ole mahdollista täällä!' ;
}
palata ( osoittaja / nimittäjä ) ;
}
int pää ( ) {
int numero1 = 89 ;
int numero2 = 0 ;
kaksinkertainen tulos = 0 ;
yrittää {
tulos = jako ( numero1, numero2 ) ;
cout << tulos << endl ;
} ottaa kiinni ( konst hiiltyä * viesti ) {
cerr << viesti << endl ;
}
palata 0 ;
}

Lähtö:
Numero, jonka aiemmin lisäsimme nimittäjäksi, on '0'. Joten poikkeus tapahtuu koodissa ja se näyttää annetun viestin.

Esimerkki 3:

Tässä luodaan 'multiplication()'-funktio, jossa asetamme 'arvo' ja 'kerroin' 'int'-tietotyypin parametreiksi. Sitten käytämme 'jos', jossa lisäämme kertoimen ehdon, joka on yhtä suuri kuin nolla. Sitten 'heittää' sijoitetaan kohtaan, jossa lisäämme lausunnon. Sitten meillä on 'return', johon asetamme aiemmin ilmoittamamme 'arvo * kerroin' -muuttujat. Joten se palauttaa kertolaskutuloksen tähän.

Tämän jälkeen kutsumme 'main()', jossa määritetään 'int arvo1' ja 'int arvo2' arvoilla '34' ja '0'. Myös 'int m_res' ilmoitetaan, ja sitä kutsutaan sitten 'multiplication()' -funktioksi. Tämän toiminnon suorittamisen jälkeen tulos tallennetaan nyt 'm_res'-muuttujaan ja näytetään sitten. Myöhemmin käytämme 'catch'-toimintoa ja lisäämme 'const char* msg' näyttääksesi viestin, jonka olemme lisänneet aiemmin 'heitto'-osaan.

Koodi 3:

#include
käyttämällä nimiavaruus std ;
kaksinkertainen kertolasku ( int arvo, int kerroin ) {
jos ( kerroin == 0 ) {
heittää 'Emme kerro arvoa nollalla!' ;
}
palata ( arvo * kerroin ) ;
}
int pää ( ) {
int arvo1 = 3. 4 ;
int arvo2 = 0 ;
int m_res ;
yrittää {
m_res = kertolasku ( arvo1, arvo2 ) ;
cout << m_res << endl ;
} ottaa kiinni ( konst hiiltyä * viesti ) {
cerr << viesti << endl ;
}
palata 0 ;
}

Lähtö :
Koska aiemmin syöttämämme arvon kertoimena on '0', koodissa on poikkeus, jonka vuoksi ilmoitus näytetään tässä.

Esimerkki 4:

Täällä rakennamme 'multiply()'-funktion ja välitämme 'number1' ja 'number2' 'int'-tietotyypin parametreiksi. Seuraavaksi käytämme 'if'-operaattoria lisätäksemme siihen ehdon, joka on kerroin, joka on pienempi tai yhtä suuri kuin nolla. Tämän jälkeen lause lisätään kohtaan, jossa 'heittää' oletetaan olevan. Kertolasku palautetaan sitten 'return'-osioon, johon lisäämme aiemmin ilmoittamamme muuttujan 'luku1 * numero2'.

Tämän jälkeen kutsumme 'main()'-funktion ja määritämme arvot '34' ja '12' arvoille 'int newNumber1' ja 'int newNumber2'. Tässä 'multiply()'-funktiota kutsutaan 'int mResult' -ilmoituksen jälkeen. Nyt tämän funktion tulos tallennetaan 'mResult'-muuttujaan ja esitetään seuraavassa. Käytämme sitten 'catch'-toimintoa ja lisäämme 'const char* msg' näyttääksemme viestin, jonka kirjoitimme 'heittää' -osioon.

Koodi 4:

#include
käyttämällä nimiavaruus std ;
kaksinkertainen moninkertaistaa ( int numero 1 , int numero 2 ) {
jos ( numero 2 <= 0 ) {
heittää 'Emme kerro arvoa nollalla tai negatiivisella arvolla!' ;
}
palata ( numero 1 * numero 2 ) ;
}
int pää ( ) {
int uusiNum1 = 3. 4 ;
int uusiNum2 = 12 ;
int mTulos ;
yrittää {
mTulos = moninkertaistaa ( uusiNum1, uusiNum2 ) ;
cout << 'Kertokertoimen tulos on' << mTulos << endl ;
}
ottaa kiinni ( konst hiiltyä * viesti ) {
cerr << viesti << endl ;
}
palata 0 ;
}

Lähtö:
Lisäämämme arvo on '12', johon lisäämme ehdon. Joten 'multiply()'-toiminto suoritetaan, koska ehto ei ole tosi. Kertomisen tulos näytetään. 'Kokeile' -osa suoritetaan täällä.

Johtopäätös

'Try-catch' -konseptia ja tämän oppaan koodeja tutkitaan yksityiskohtaisesti. Tutkimme perusteellisesti tätä 'try-catch' -konseptia ja näytimme, kuinka se toimii C++-ohjelmoinnissa. Määritimme, että 'heittä'-termi luo poikkeuksen, kun havaitaan virhe, jonka avulla voimme kirjoittaa ainutlaatuisen koodimme. 'Catch'-lausekkeen avulla voimme määrittää koodilohkon, joka suoritetaan, jos 'try'-osassa esiintyy poikkeus.