Cerr C++ pavyzdžiai

Cerr C Pavyzdziai



Kai turime dirbti su C++ programavimu, galime susidurti su įvairiomis situacijomis, kai susiduriame su klaidomis. Taigi, norėdami parodyti šią klaidą, naudojame C++ raktinį žodį „cerr“. Galime pasakyti, kad mes naudojame „cerr“ objektą klaidos pranešimui spausdinti C++. „iostream“ antraštės faile yra šio objekto deklaracija. Jis naudojamas su „<<“ įterpimo simboliais, kad būtų rodoma klaida arba išsami informacija, kurią įvedėme konsolėje. Šiame vadove mes išsamiai išmoksime šį „cerr“ objektą.

1 pavyzdys:

„iostream“ yra įtrauktas antraštės failas, kurį įdėjome, kad savo kode galėtume naudoti „cin“ arba „cout“ metodus, nes abu metodai yra deklaruoti jame. Šiame antraštės faile taip pat deklaruojamas objektas „cerr“. Tada turime „std vardų erdvę“. Dabar mums nereikia pridėti šio „std“ su kiekviena funkcija atskirai.

Tada čia iškviečiamas „main()“. Žemiau mes naudojame objektą „cerr“ ir konsolėje pateikiame klaidos pranešimą, kurį norime rodyti. Įrašome 'Čia įvyko klaida!' pranešimą šiame „cerr“ įdėjus įterpimo simbolius. Kai paleidžiame šią programą, pateiktas pranešimas rodomas nenaudojant „cout“.







1 kodas:

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

cerr << 'Čia įvyko klaida!' << endl ;

grąžinti 0 ;

}

Išvestis:



Pranešimas, kurį įvedame įdėję „cerr <<“, dabar rodomas šiame rezultate, kuris rodomas taip:







2 pavyzdys:

Kadangi ir „cin“ ir „cout“ metodai, taip pat „cerr“ yra deklaruoti „iostream“ antraštės faile, čia pridedame antraštės failą, kad galėtume juos naudoti savo kode. Po to turime „std vardų erdvę“. Po juo vadinamas „main()“. Mes inicijuojame 'eilutės' duomenų tipo 'error_str[]' ir priskiriame pranešimą 'error_str[]'. Tada mes naudojame objektą „cerr“, kuriame pateikiame klaidos pranešimą ir perduodame šį „error_str“. Taigi, kai vykdome šią programą, ji pateikia abu pranešimus.

2 kodas:

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

char error_str [ ] = 'Mes čia negalime perskaityti eilutės!' ;

cerr << 'Įvyko klaida:' << error_str << endl ;

}

Išvestis:



Tekstas, kurį įvedėme įvedę 'cerr <<', dabar matomas rezultate, taip pat pranešimas, kurį įtraukėme į 'error_str'. Rezultatas taip pat parodytas taip:

3 pavyzdys:

Įtraukę antraštės failą ir įdėję vardų sritį „std“, iškviečiame „main()“ metodą. Po to čia deklaruojamas sveikasis kintamasis „NumOfLine“ ir inicijuojamas „__LINE__“. Šis „__LINE__“ generuoja klaidų pranešimus. Po juo naudojame objektą „cerr“ ir pateikiame klaidos pranešimą, kurį norime parodyti vartotojui. Taip pat įdedame kintamąjį „NumOfLine“, kuris rodo eilutės numerį, kurioje įvyko klaida kode.

3 kodas:

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

tarpt NumOfLine = __LINE__ ;

cerr << 'Klaida įvyko eilutėje: ' << NumOfLine ;

grąžinti 0 ;

}

Išvestis:

Čia rodoma, kad klaida įvyksta „4“ eilutėje, kai ketvirtoje kodo eilutėje pridėjome „__LINE__“. Šis pranešimas rodomas čia naudojant „cerr“ objektą C++.

4 pavyzdys:

Įtraukiame dar vieną antraštės failą „fstream“. Šis „fstream“ antraštės failas naudojamas C++, norint skaityti, rašyti arba kurti failą, nes tai yra „ofstream“ ir „ifstream“ derinys. Dabar, pridėję „std namespace“ ir iškvietę „main()“, naudojame „fstream“ su kintamuoju „new_file“.

Tada mes naudojame funkciją „open ()“ su „new_file“ ir kaip parametrą perduodame failo pavadinimą. Failo pavadinimas yra „myTextFile.txt“, kurį norime atidaryti. Žemiau mes naudojame „if“, norėdami perduoti „new_file“ kintamąjį. Dabar, jei failas atidaromas čia, pateikiamas sakinys po „if“. Kitu atveju po „else“ esantis teiginys pateikiamas ten, kur pridedame objektą „cerr“, kad būtų parodytas klaidos pranešimas.

4 kodas:

#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

fstream new_file ;

naujas_failas. atviras ( 'manoTextFile.txt' ) ;

jeigu ( naujas_failas ) {

cout << 'Failas čia sėkmingai atidarytas!' ;

}

Kitas {

cerr << 'Čia įvyko klaida atidarant failą čia!' ;

}

grąžinti 0 ;

}

Išvestis:

Negalime atidaryti failo, kurį pateikėme anksčiau. Čia rodomas klaidos pranešimas, kurį įterpėme po objekto „cerr“.

5 pavyzdys:

Čia norime atidaryti kitą failą. Taigi, pridedame ir antraštės failus, ir „std“ vardų erdvę. Dabar mes vadiname „main()“ ir tada naudojame „fstream“ su kintamuoju „t_file“. Tada šiuo atveju naudojame funkciją „open ()“ su „new_file“ ir pateikiame failo pavadinimą kaip argumentą. Failas, kurį norime atidaryti, vadinamas „New.txt“. Mes naudojame „if“ teiginį, perduodami „t_file“ kintamąjį. Dabar, jei failas atidaromas, pateikiama eilutė, einanti po „if“. Jei ne, pateikiamas teiginys, einantis po „else“, kur įtraukėme objektą „cerr“, kad būtų rodomas klaidos pranešimas.

5 kodas:

#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

fstream t_file ;

t_failas. atviras ( 'Naujas.txt' ) ;

jeigu ( t_failas ) {

cout << 'Failas atidarytas čia!' ;

}

Kitas {

cerr << 'Įvyko klaida!' ;

}

grąžinti 0 ;

}

Išvestis:

Failas, kurį pateikėme, negali būti atidarytas. Taigi, klaidos pranešimas, kurį įtraukėme po „cerr“ objekto, rodomas taip:

6 pavyzdys:

Čia pridedame „išimties“ antraštės failą, kuris naudojamas patikrinti, ar nėra klaidų, kurios gali atsirasti mūsų kode. Toliau inicijuojame sveikųjų skaičių tipo masyvą, pavadintą „new_array“, kurio dydis yra „6“. Tada nustatome „int“ kintamojo „new_index“ ir čia priskiriame „7“. Dabar taip pat inicijuojame kintamąjį „new_size“ ir kintamajam „new_size“ priskiriame „*(&new_arr + 1) – new_arr“.

Po to mes naudojame „bandyti“, „mesti“ ir „pagauti“, kurie naudojami klaidoms patikrinti ir klaidos pranešimui pateikti. Mes naudojame objektą „spalva“, kuris rodo klaidos pranešimą, kurį įtraukėme po raktinio žodžio „mesk“.

6 kodas:

#include

#įtraukti

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {



tarpt naujas_arr [ 6 ] = { 1 , 9 , 4 , 3 , 8 , 7 } ;

tarpt naujas_indeksas = 7 ;



tarpt naujas_dydis = * ( & naujas_arr + 1 ) - naujas_arr ;

bandyti {

jeigu ( naujas_indeksas < 0 || naujas_indeksas >= naujas_dydis ) mesti ( 'Indeksas nėra diapazone. Čia jis yra už diapazono' ) ;



Kitas

cout << naujas_arr [ naujas_indeksas ] ;



}

sugauti ( konst char * klysti ) {

cerr << klysti ;

}

grąžinti 0 ;

}

Išvestis:

Čia pateikiamas klaidos pranešimas, rodantis, kad „Indeksas“ yra už diapazono, ir mes gauname šią klaidą naudodami objektą „cerr“.

7 pavyzdys:

Čia patikriname klaidą, kuri gali atsirasti dalijant skaičių iš nulio. Sukuriame funkciją „d()“, kurioje perduodame du „int“ duomenų tipo kintamuosius „a1“ ir „a2“. Žemiau pridedame „jei“, kai perduodame sąlygą „a2==0“. Jei „a2“ reikšmė lygi nuliui, įvykdomas pranešimas, kurį pateikiame po „metimo“, kurį gauname į kodą įdėję objektą „cerr“.

Po to dedame „return“, kuri grąžina padalijimo atsakymą, jei „a2“ reikšmė nėra nulis. Dabar mes iškviečiame „main()“ ir „x“ priskiriame „87“, kai inicijuojame jį kaip „int“ kintamąjį. Po to mes taip pat inicijuojame „b“ ir „d_res“ kintamuosius su „0“. Čia dedame „bandyti“ ir „pagauti“, kurie užfiksuoja klaidą, o „cerr“ pateikia klaidos pranešimą, kurį įtraukėme po raktinio žodžio „mesk“.

7 kodas:

#include

naudojant vardų sritį std ;

tarpt mano_padalinys ( tarpt a1 , tarpt a2 ) {

jeigu ( a2 == 0 ) {

mesti „Padalyti iš nulio negalima! ;

}

grąžinti ( a1 / a2 ) ;

}

tarpt pagrindinis ( ) {

tarpt x = 87 ;

tarpt ir = 0 ;

tarpt d_nieko = 0 ;

bandyti {

d_nieko = mano_padalinys ( x , ir ) ;

cout << d_nieko << endl ;

} sugauti ( konst char * žinutė ) {

cerr << žinutė << endl ;

}

grąžinti 0 ;

}

Išvestis:

Čia pasirodo klaidos pranešimas, reiškiantis, kad norime skaičių padalyti iš „0“, o tai neįmanoma.

Išvada

Čia išsamiai ištirtas „cerr“ objektas. Apibrėžėme, kaip „cerr“ objektas padeda rodyti klaidos pranešimą programuojant C++. Išnagrinėjome kelis pavyzdžius, kuriuose nustatėme daug sąlygų, kai įvyksta klaida. Mes taip pat panaudojome „cerr“ objektą įdėję try-catch metodą ir failo atidarymo kodą. Mes parodėme kodą ir rezultatą, kai „cerr“ rodo klaidos pranešimą.