Cerr C++ näited

Cerr C Naited



Kui peame töötama C++ programmeerimisega, võib meil esineda erinevaid olukordi, kui peame silmitsi seisma vigadega. Nii et selle vea kuvamiseks kasutame C++-s märksõna 'cerr'. Võime öelda, et kasutame C++-s veateate printimiseks objekti “cerr”. Päisefail 'iostream' sisaldab selle objekti deklaratsiooni. Seda kasutatakse koos '<<' sisestussümbolitega, et kuvada konsooli sisestatud viga või üksikasjad. Selles juhendis õpime seda 'cerr' objekti põhjalikult tundma.

Näide 1:

'iostream' on siia lisatud päisefail, mille me paigutasime, et saaksime oma koodis kasutada 'cin' või 'cout' meetodeid, kuna mõlemad meetodid on selles deklareeritud. Selles päisefailis on deklareeritud ka objekt “cerr”. Seejärel on meil 'std nimeruum'. Nüüd ei pea me seda 'std' iga funktsiooniga eraldi lisama.

Seejärel kutsutakse siin välja 'main()'. Selle all kasutame objekti 'cerr' ja asetame tõrketeate, mida tahame konsoolile kuvada. Kirjutame teksti 'Siin ilmnes viga!' pärast sisestussümbolite paigutamist sellesse 'cerr'-i. Kui me seda programmi käivitame, kuvatakse antud teade ilma 'cout' kasutamata.







Kood 1:

#include

kasutades nimeruumi std ;

int peamine ( ) {

cerr << 'Siin tekkis viga!' << endl ;

tagasi 0 ;

}

Väljund:



Sõnum, mille tippime pärast 'cerr <<' sisestamist, kuvatakse nüüd selles tulemuses, mis kuvatakse järgmises:







Näide 2:

Kuna nii meetodid 'cin' ja 'cout' kui ka 'cerr' on deklareeritud 'iostream' päisefailis, lisame päisefaili siia, et saaksime neid oma koodis kasutada. Pärast seda on meil 'std nimeruum'. Selle all kutsutakse siis 'main()'. Initsialiseerime andmetüübi 'string' 'error_str[]' ja määrame sõnumi 'error_str[]'. Seejärel kasutame objekti 'cerr', kuhu asetame veateate ja edastame selle 'error_str'. Seega, kui me seda programmi käivitame, renderdab see mõlemad sõnumid.

Kood 2:

#include

kasutades nimeruumi std ;

int peamine ( ) {

char error_str [ ] = 'Me ei saa siin nööri lugeda!' ;

cerr << 'Tekkis viga:' << error_str << endl ;

}

Väljund:



Tekst, mille tippime pärast 'cerr <<' sisestamist, on nüüd tulemuses nähtav, samuti sõnum, mille lisasime lahtrisse 'error_str'. Tulemus on näidatud ka järgmises:

Näide 3:

Pärast päisefaili lisamist ja seejärel nimeruumi 'std' asetamist kutsume välja meetodi 'main()'. Pärast seda deklareeritakse siin täisarvmuutuja 'NumOfLine' ja lähtestatakse '__LINE__'. See '__LINE__' genereerib veateated. Selle all kasutame objekti 'cerr' ja asetame veateate, mida tahame kasutajale kuvada. Samuti asetame muutuja 'NumOfLine', mis näitab rea numbrit, millel koodis viga ilmneb.

Kood 3:

#include

kasutades nimeruumi std ;

int peamine ( ) {

int NumOfLine = __LINE__ ;

cerr << 'Siin real tekkis viga:' << NumOfLine ;

tagasi 0 ;

}

Väljund:

Siin näitab see, et viga ilmneb real '4', kui lisasime koodi neljandale reale '__LINE__'. See teade kuvatakse siin C++-i objekti “cerr” abil.

Näide 4:

Lisame veel ühe päisefaili, 'fstream'. Seda 'fstream' päisefaili kasutatakse C++-s faili lugemiseks, kirjutamiseks või loomiseks, kuna see on 'ofstream' ja 'ifstream' kombinatsioon. Nüüd, pärast 'std namespace' lisamist ja 'main()' kutsumist, kasutame 'fstream' muutujaga 'new_file'.

Seejärel kasutame siin funktsiooni 'open()' koos 'new_file' ja edastame parameetrina faili nime. Faili nimi on 'myTextFile.txt', mille tahame avada. Selle all kasutame muutuja 'new_file' edastamiseks 'if'. Nüüd, kui fail siin avaneb, renderdatakse lause pärast 'if'. Vastasel juhul renderdatakse lause „else” järel, kus lisame veateate kuvamiseks objekti „cerr”.

Kood 4:

#include

#include

kasutades nimeruumi std ;

int peamine ( ) {

fstream uus_fail ;

uus_fail. avatud ( 'minuTekstifail.txt' ) ;

kui ( uus_fail ) {

cout << 'Fail on siin edukalt avatud!' ;

}

muidu {

cerr << 'Siin faili avamisel tekkis viga!' ;

}

tagasi 0 ;

}

Väljund:

Me ei saa varem esitatud faili avada. Siin kuvatakse tõrketeade, mille sisestasime pärast objekti 'cerr'.

Näide 5:

Siin tahame avada teise faili. Seega lisame nii päisefailid kui ka 'std' nimeruumi. Nüüd kutsume välja 'main()' ja seejärel kasutame 'fstream' muutujaga 't_file'. Järgmisena kasutame antud juhul funktsiooni 'open()' koos 'new_file'-ga ja esitame argumendina failinime. Faili, mida soovime avada, nimi on 'New.txt'. Kasutame lauset 'if', edastades muutuja 't_file'. Nüüd, kui fail avaneb, renderdatakse rida, mis järgneb 'if'-le. Kui ei, siis renderdatakse lausele „else” järgnev avaldus, kuhu lisasime veateate kuvamiseks objekti „cerr”.

Kood 5:

#include

#include

kasutades nimeruumi std ;

int peamine ( ) {

fstream t_file ;

t_fail. avatud ( 'Uus.txt' ) ;

kui ( t_fail ) {

cout << 'Fail on siin avatud!' ;

}

muidu {

cerr << 'Tekkis viga!' ;

}

tagasi 0 ;

}

Väljund:

Meie esitatud faili ei saa avada. Niisiis kuvatakse tõrketeade, mille lisasime pärast objekti 'cerr', järgmiselt:

Näide 6:

Lisame siia 'erand' päisefaili, mida kasutatakse meie koodis esineda võivate vigade kontrollimiseks. Järgnevalt initsialiseerime täisarvu tüüpi massiivi nimega “new_array” suurusega “6”. Seejärel määrame muutuja 'int' väärtuse 'new_index' ja määrame siia '7'. Nüüd initsialiseerime ka muutuja 'new_size' ja määrame '*(&new_arr + 1) – new_arr' muutujale 'new_size'.

Pärast seda kasutame 'proovi', 'viska' ja 'püüda', mida kasutatakse vigade kontrollimiseks ja veateate viskamiseks. Kasutame objekti 'värv', mis näitab tõrketeadet, mille lisasime pärast märksõna 'viska'.

Kood 6:

#include

#kaasa

kasutades nimeruumi std ;

int peamine ( ) {



int uus_arr [ 6 ] = { 1 , 9 , 4 , 3 , 8 , 7 } ;

int uus_indeks = 7 ;



int uus_suurus = * ( & uus_arr + 1 ) - uus_arr ;

proovi {

kui ( uus_indeks < 0 || uus_indeks >= uus_suurus ) viskama ( 'Indeks ei ole vahemikus. See on siin vahemikust väljas' ) ;



muidu

cout << uus_arr [ uus_indeks ] ;



}

püüda ( konst char * eks ) {

cerr << eks ;

}

tagasi 0 ;

}

Väljund:

Siin kuvab see veateate, mis näitab, et 'indeks' on vahemikust väljas ja saame selle vea, kasutades 'cerr' objekti.

Näide 7:

Siin kontrollime viga, mis võib ilmneda arvu jagamisel nulliga. Loome funktsiooni 'd()', milles edastame kaks 'int' andmetüübi muutujat 'a1' ja 'a2'. Selle alla lisame 'if', milles edastame tingimuse 'a2==0'. Kui 'a2' väärtus on null, täidetakse sõnum, mille me asetame pärast 'viska', mille saame, kui asetame koodi objekti 'cerr'.

Pärast seda asetame 'tagasi', mis tagastab jaotuse vastuse, kui 'a2' väärtus ei ole null. Nüüd kutsume esile 'main()' ja määrame '87' väärtusele 'x' pärast selle initsialiseerimist 'int' muutujana. Pärast seda initsialiseerime ka muutujad 'b' ja 'd_res' väärtusega '0'. Siia asetame sõnad 'try' ja 'catch', mis tabavad vea ja 'cerr' viskab veateate, mille lisasime pärast märksõna 'viska'.

Kood 7:

#include

kasutades nimeruumi std ;

int minu_jaotus ( int a1 , int a2 ) {

kui ( a2 == 0 ) {

viskama 'Nulliga jagamine pole võimalik!' ;

}

tagasi ( a1 / a2 ) ;

}

int peamine ( ) {

int x = 87 ;

int ja = 0 ;

int d_mitte midagi = 0 ;

proovi {

d_mitte midagi = minu_jaotus ( x , ja ) ;

cout << d_mitte midagi << endl ;

} püüda ( konst char * sõnum ) {

cerr << sõnum << endl ;

}

tagasi 0 ;

}

Väljund:

Siin kuvatakse tõrketeade, mis tähendab, et tahame numbri jagada '0-ga', mis on võimatu.

Järeldus

'Cerr' objekti uuritakse siin üksikasjalikult. Määratlesime, kuidas objekt 'cerr' aitab C++ programmeerimisel veateate kuvada. Uurisime mitut näidet, mille puhul seadsime vea ilmnemiseks palju tingimusi. Kasutasime ka objekti 'cerr' pärast try-catch meetodi paigutamist ja faili avamiskoodi. Näitasime nii koodi kui ka tulemust, mille puhul 'cerr' kuvab veateate.