Primeri Cerr C++

Primeri Cerr C



Ko moramo delati s programiranjem C++, imamo lahko različne situacije, ko se moramo soočiti z napakami. Za prikaz te napake torej uporabimo ključno besedo »cerr« v C++. Lahko rečemo, da uporabimo objekt 'cerr' za tiskanje sporočila o napaki v C++. Datoteka glave »iostream« vsebuje deklaracijo tega predmeta. Uporablja se s simboli za vstavljanje »<<« za prikaz napake ali podrobnosti, ki smo jo vnesli v konzolo. V tem priročniku se bomo tega predmeta »cerr« temeljito naučili.

Primer 1:

»iostream« je tukaj vključena datoteka glave, ki smo jo postavili, da lahko v naši kodi uporabimo metodi »cin« ali »cout«, saj sta obe metodi deklarirani v njej. Objekt »cerr« je prav tako deklariran v tej datoteki glave. Nato imamo »imenski prostor std«. Zdaj nam tega »std« ni treba dodati vsaki funkciji posebej.

Nato se tukaj prikliče »main()«. Pod tem uporabimo objekt 'cerr' in sporočilo o napaki, ki ga želimo prikazati, postavimo na konzolo. Vtipkamo 'Tukaj je prišlo do napake!' sporočilo v tem »cerr« po vstavitvi simbolov za vstavljanje. Ko zaženemo ta program, se dano sporočilo prikaže brez uporabe »cout«.







Koda 1:

#include

uporaba imenskega prostora std ;

int glavni ( ) {

cerr << 'Tukaj je prišlo do napake!' << konec ;

vrnitev 0 ;

}

Izhod:



Sporočilo, ki ga vnesemo po postavitvi »cerr <<«, je zdaj prikazano v tem rezultatu, ki je prikazan v naslednjem:







Primer 2:

Ker sta tako metodi »cin« in »cout« kot tudi »cerr« deklarirani znotraj datoteke glave »iostream«, sem dodamo datoteko glave, da ju lahko uporabimo v naši kodi. Po tem imamo 'imenski prostor std'. Pod tem se nato pokliče »main()«. Inicializiramo »error_str[]« podatkovnega tipa »niz« in dodelimo sporočilo »error_str[]«. Nato uporabimo objekt »cerr«, kamor postavimo sporočilo o napaki, in posredujemo ta »error_str«. Torej, ko izvedemo ta program, upodobi obe sporočili.

Koda 2:

#include

uporaba imenskega prostora std ;

int glavni ( ) {

char error_str [ ] = 'Tu ne moremo brati niza!' ;

cerr << 'Prišlo je do napake:' << error_str << konec ;

}

Izhod:



Besedilo, ki ga vnesemo po vnosu »cerr <<«, je zdaj vidno v rezultatu, kot tudi sporočilo, ki smo ga dodali v »error_str«. Rezultat je prikazan tudi v naslednjem:

Primer 3:

Ko vključimo datoteko glave in nato postavimo imenski prostor »std«, pokličemo metodo »main()«. Po tem je tukaj deklarirana celoštevilska spremenljivka »NumOfLine« in inicializirana z »__LINE__«. Ta »__LINE__« ustvarja sporočila o napakah. Pod tem uporabimo objekt “cerr” in postavimo sporočilo o napaki, ki ga želimo prikazati uporabniku. V kodo postavimo tudi spremenljivko “NumOfLine”, ki prikazuje številko vrstice, v kateri se pojavi napaka.

Koda 3:

#include

uporaba imenskega prostora std ;

int glavni ( ) {

int NumOfLine = __LINE__ ;

cerr << 'Tu v vrstici je prišlo do napake: ' << NumOfLine ;

vrnitev 0 ;

}

Izhod:

Tukaj kaže, da se napaka pojavi v vrstici »4«, ko smo dodali »__LINE__« v četrto vrstico kode. To sporočilo je tukaj prikazano s pomočjo predmeta »cerr« v C++.

Primer 4:

Vključujemo še eno datoteko glave, »fstream«. Ta datoteka glave »fstream« se v C++ uporablja za branje, pisanje ali ustvarjanje datoteke, saj je kombinacija »ofstream« in »ifstream«. Zdaj, ko smo dodali »imenski prostor std« in priklicali »main()«, uporabimo »fstream« s spremenljivko »new_file«.

Nato tukaj uporabimo funkcijo »open()« z »new_file« in posredujemo ime datoteke kot parameter. Ime datoteke je 'myTextFile.txt', ki jo želimo odpreti. Pod tem uporabimo 'if' za posredovanje spremenljivke 'new_file'. Zdaj, če se datoteka odpre tukaj, se upodobi stavek za 'če'. V nasprotnem primeru se stavek za »else« upodobi tam, kjer dodamo objekt »cerr« za prikaz sporočila o napaki.

Koda 4:

#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {

fstream nova_datoteka ;

nova_datoteka. odprto ( 'myTextFile.txt' ) ;

če ( nova_datoteka ) {

cout << 'Datoteka je tukaj uspešno odprta!' ;

}

drugače {

cerr << 'Pri odpiranju datoteke tukaj je prišlo do napake!' ;

}

vrnitev 0 ;

}

Izhod:

Ne moremo odpreti datoteke, ki smo jo prej posredovali. Tukaj prikaže sporočilo o napaki, ki smo ga vstavili za objektom »cerr«.

Primer 5:

Tukaj želimo odpreti drugo datoteko. Torej dodamo obe datoteki glave in imenski prostor »std«. Zdaj pokličemo »main()« in nato uporabimo »fstream« s spremenljivko »t_file«. Nato v tem primeru uporabimo funkcijo »open()« z »new_file« in podamo ime datoteke kot argument. Datoteka, ki jo želimo odpreti, se imenuje »New.txt«. Uporabljamo stavek 'if' in posredujemo spremenljivko 't_file'. Zdaj, če se datoteka odpre, se upodobi vrstica, ki sledi »if«. Če ni, se upodobi stavek, ki sledi »else«, kjer smo dodali objekt »cerr« za prikaz sporočila o napaki.

Koda 5:

#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {

fstream t_file ;

t_datoteka. odprto ( 'Novo.txt' ) ;

če ( t_datoteka ) {

cout << 'Datoteka je odprta tukaj!' ;

}

drugače {

cerr << 'Prišlo je do napake!' ;

}

vrnitev 0 ;

}

Izhod:

Datoteke, ki smo jo posredovali, ni mogoče odpreti. Torej je sporočilo o napaki, ki smo ga dodali za objektom »cerr«, prikazano v naslednjem:

Primer 6:

Tukaj dodamo datoteko glave »izjema«, ki se uporablja za preverjanje napak, ki se lahko pojavijo v naši kodi. V nadaljevanju inicializiramo matriko celoštevilskega tipa z imenom “new_array” velikosti “6”. Nato nastavimo 'new_index' spremenljivke 'int' in tukaj dodelimo '7'. Zdaj tudi inicializiramo spremenljivko »new_size« in spremenljivki »new_size« dodelimo »*(&new_arr + 1) – new_arr«.

Po tem uporabimo »poskusi«, »vrzi« in »ulovi«, ki se uporabljajo za preverjanje napak in pošiljanje sporočila o napaki. Uporabljamo objekt »color«, ki prikazuje sporočilo o napaki, ki smo ga dodali za ključno besedo »throw«.

Koda 6:

#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {



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

int nov_indeks = 7 ;



int nova_velikost = * ( & nov_arr + 1 ) - nov_arr ;

poskusi {

če ( nov_indeks < 0 || nov_indeks >= nova_velikost ) metati ( 'Indeks ni v območju. Tukaj je izven območja' ) ;



drugače

cout << nov_arr [ nov_indeks ] ;



}

ulov ( konst char * napaka ) {

cerr << napaka ;

}

vrnitev 0 ;

}

Izhod:

Tukaj prikaže sporočilo o napaki, ki kaže, da je »Indeks« izven obsega in to napako dobimo z uporabo predmeta »cerr«.

Primer 7:

Tukaj preverimo napako, ki se lahko pojavi, ko število delimo z nič. Ustvarimo funkcijo 'd()', v kateri posredujemo dve spremenljivki podatkovnega tipa 'int' 'a1' in 'a2'. Pod tem dodamo 'if', v katerem posredujemo pogoj 'a2==0'. Če je vrednost 'a2' enaka nič, se izvede sporočilo, ki ga postavimo po 'vrhu', kar dobimo tako, da v kodo postavimo objekt 'cerr'.

Za tem postavimo 'return', ki vrne odgovor deljenja, če vrednost 'a2' ni nič. Zdaj pokličemo »main()« in »x« dodelimo »87«, potem ko smo ga inicializirali kot spremenljivko »int«. Po tem inicializiramo tudi spremenljivki “b” in “d_res” z “0”. Tukaj postavimo »try« in »catch«, ki ujameta napako, »cerr« pa vrže sporočilo o napaki, ki smo ga dodali za ključno besedo »throw«.

Koda 7:

#include

uporaba imenskega prostora std ;

int moja_divizija ( int a1 , int a2 ) {

če ( a2 == 0 ) {

metati 'Deljenje z ničlo ni mogoče!' ;

}

vrnitev ( a1 / a2 ) ;

}

int glavni ( ) {

int x = 87 ;

int in = 0 ;

int d_nič = 0 ;

poskusi {

d_nič = moja_divizija ( x , in ) ;

cout << d_nič << konec ;

} ulov ( konst char * sporočilo ) {

cerr << sporočilo << konec ;

}

vrnitev 0 ;

}

Izhod:

Tukaj se prikaže sporočilo o napaki, kar pomeni, da želimo število deliti z '0', kar je nemogoče.

Zaključek

Tukaj je predmet 'cerr' podrobno preučen. Določili smo, kako objekt »cerr« pomaga pri prikazovanju sporočila o napaki v programiranju C++. Raziskali smo več primerov, kjer smo postavili veliko pogojev, kjer pride do napake. Uporabili smo tudi objekt »cerr«, potem ko smo umestili metodo try-catch in v kodo za odpiranje datoteke. Pokazali smo kodo in rezultat, v katerem »cerr« prikaže sporočilo o napaki.