Primjer 1:
'iostream' je ovdje uključena datoteka zaglavlja koju smo postavili kako bismo mogli koristiti metode 'cin' ili 'cout' u našem kodu jer su obje metode deklarirane unutar nje. Objekt 'cerr' također je deklariran u ovoj datoteci zaglavlja. Zatim, imamo 'std imenski prostor'. Sada, ne trebamo dodati ovaj 'std' sa svakom funkcijom neovisno.
Tada se ovdje poziva “main()”. Ispod toga koristimo objekt 'cerr' i postavljamo poruku o pogrešci koju želimo prikazati na konzoli. Upisujemo 'Ovdje je došlo do pogreške!' poruka u ovom 'cerr' nakon postavljanja simbola za umetanje. Kada pokrenemo ovaj program, navedena poruka se prikazuje bez korištenja 'cout'.
Kod 1:
#includekoristeći prostor imena std ;
int glavni ( ) {
cerr << 'Ovdje je došlo do pogreške!' << endl ;
povratak 0 ;
}
Izlaz:
Poruka koju upišemo nakon postavljanja “cerr <<” sada se prikazuje u ovom ishodu koji se prikazuje u sljedećem:
Primjer 2:
Budući da su metode “cin” i “cout” kao i “cerr” deklarirane unutar datoteke zaglavlja “iostream”, ovdje dodajemo datoteku zaglavlja kako bismo ih mogli koristiti u našem kodu. Nakon toga imamo “std namespace”. Ispod toga se tada poziva 'main()'. Inicijaliziramo “error_str[]” tipa podataka “string” i dodjeljujemo poruku “error_str[]”. Zatim koristimo objekt “cerr” gdje postavljamo poruku o pogrešci i prosljeđujemo ovaj “error_str”. Dakle, kada izvršimo ovaj program, on prikazuje obje poruke.
Kod 2:
#includekoristeći prostor imena std ;
int glavni ( ) {
char error_str [ ] = 'Ovdje ne možemo pročitati niz!' ;
cerr << 'Došlo je do pogreške: ' << error_str << endl ;
}
Izlaz:
Tekst koji upisujemo nakon upisivanja “cerr <<” sada je vidljiv u rezultatu kao i poruka koju smo dodali u “error_str”. Ishod je također prikazan u sljedećem:
Primjer 3:
Nakon uključivanja datoteke zaglavlja i postavljanja prostora imena 'std', pozivamo metodu 'main()'. Nakon toga, ovdje se deklarira cjelobrojna varijabla “NumOfLine” i inicijalizira s “__LINE__”. Ovaj “__LINE__” generira poruke o pogrešci. Ispod toga koristimo objekt “cerr” i postavljamo poruku o pogrešci koju želimo prikazati korisniku. Također postavljamo varijablu “NumOfLine” koja pokazuje broj retka na kojem se pojavljuje greška u kodu.
Kod 3:
#includekoristeći prostor imena std ;
int glavni ( ) {
int NumOfLine = __CRTA__ ;
cerr << 'Došlo je do pogreške ovdje na liniji: ' << NumOfLine ;
povratak 0 ;
}
Izlaz:
Ovdje se pokazuje da se pogreška pojavljuje u retku '4' jer smo dodali '__LINE__' u četvrti redak koda. Ova poruka se ovdje prikazuje uz pomoć objekta “cerr” u C++.
Primjer 4:
Uključujemo još jednu datoteku zaglavlja, 'fstream'. Ova datoteka zaglavlja 'fstream' koristi se u C++ za čitanje, pisanje ili stvaranje datoteke jer je to kombinacija 'ofstream' kao i 'ifstream'. Sada, nakon dodavanja “std namespace” i pozivanja “main()”, koristimo “fstream” s varijablom “new_file”.
Zatim ovdje koristimo funkciju 'open()' s 'new_file' i prosljeđujemo naziv datoteke kao parametar. Naziv datoteke je “myTextFile.txt” koju želimo otvoriti. Ispod toga koristimo 'if' za prosljeđivanje varijable 'new_file'. Sada, ako se datoteka otvori ovdje, iskaz se prikazuje nakon 'if'. U suprotnom, iskaz nakon 'else' prikazuje se tamo gdje dodajemo objekt 'cerr' za prikaz poruke o pogrešci.
Kod 4:
#include#include
koristeći prostor imena std ;
int glavni ( ) {
fstream nova_datoteka ;
nova_datoteka. otvoren ( 'myTextFile.txt' ) ;
ako ( nova_datoteka ) {
cout << 'Datoteka je ovdje uspješno otvorena!' ;
}
drugo {
cerr << 'Došlo je do pogreške prilikom otvaranja datoteke ovdje!' ;
}
povratak 0 ;
}
Izlaz:
Ne možemo otvoriti datoteku koju smo prethodno dali. Ovdje se prikazuje poruka o pogrešci koju smo umetnuli nakon objekta 'cerr'.
Primjer 5:
Ovdje želimo otvoriti drugu datoteku. Dakle, dodajemo obje datoteke zaglavlja i 'std' prostor imena. Sada pozivamo 'main()', a zatim koristimo 'fstream' s varijablom 't_file'. Zatim koristimo funkciju 'open()' u ovom slučaju s 'new_file' i navodimo naziv datoteke kao argument. Datoteka koju želimo otvoriti zove se “New.txt”. Koristimo naredbu “if”, prosljeđujući varijablu “t_file”. Sada, ako se datoteka otvori, renderira se redak koji slijedi nakon 'if'. Ako nije, prikazuje se izjava koja slijedi nakon 'else', gdje smo dodali objekt 'cerr' za prikaz poruke o pogrešci.
Kod 5:
#include#include
koristeći prostor imena std ;
int glavni ( ) {
fstream t_datoteka ;
t_datoteka. otvoren ( 'Novo.txt' ) ;
ako ( t_datoteka ) {
cout << 'Datoteka je otvorena ovdje!' ;
}
drugo {
cerr << 'Došlo je do pogreške!' ;
}
povratak 0 ;
}
Izlaz:
Datoteka koju smo dostavili ne može se otvoriti. Dakle, poruka o pogrešci koju smo dodali nakon objekta 'cerr' prikazana je u sljedećem:
Primjer 6:
Ovdje dodajemo datoteku zaglavlja 'iznimke' koja se koristi za provjeru grešaka koje se mogu pojaviti u našem kodu. U nastavku inicijaliziramo niz cjelobrojnog tipa pod nazivom “new_array” veličine “6”. Zatim postavljamo “new_index” varijable “int” i ovdje dodjeljujemo “7”. Sada također inicijaliziramo varijablu “new_size” i dodjeljujemo “*(&new_arr + 1) – new_arr” varijabli “new_size”.
Nakon toga koristimo 'pokušaj', 'baci' i 'uhvati' koji se koriste za provjeru pogrešaka i izbacivanje poruke o pogrešci. Koristimo objekt 'color' koji prikazuje poruku o pogrešci koju smo dodali nakon ključne riječi 'throw'.
Kod 6:
#include#include
koristeći prostor imena std ;
int glavni ( ) {
int novi_arr [ 6 ] = { 1 , 9 , 4 , 3 , 8 , 7 } ;
int novi_indeks = 7 ;
int nova_veličina = * ( i novi_arr + 1 ) - novi_arr ;
probati {
ako ( novi_indeks < 0 || novi_indeks >= nova_veličina ) bacanje ( 'Indeks nije u rasponu. Ovdje je izvan raspona' ) ;
drugo
cout << novi_arr [ novi_indeks ] ;
}
ulov ( konst char * pogriješiti ) {
cerr << pogriješiti ;
}
povratak 0 ;
}
Izlaz:
Ovdje prikazuje poruku o pogrešci koja pokazuje da je 'Indeks' izvan raspona, a tu pogrešku dobivamo korištenjem objekta 'cerr'.
Primjer 7:
Ovdje provjeravamo grešku koja se može pojaviti kada broj podijelimo s nulom. Kreiramo funkciju “d()” u kojoj prosljeđujemo dvije varijable tipa podataka “int” “a1” i “a2”. Ispod ovoga dodajemo “if” u kojem prosljeđujemo uvjet “a2==0”. Ako je vrijednost “a2” nula, izvršava se poruka koju smo postavili nakon “throw” što dobivamo postavljanjem “cerr” objekta u kod.
Nakon toga postavljamo 'return' koji vraća odgovor dijeljenja ako vrijednost 'a2' nije nula. Sada pozivamo “main()” i dodjeljujemo “87” “x” nakon što ga inicijaliziramo kao “int” varijablu. Nakon toga također inicijaliziramo varijable “b” i “d_res” s “0”. Ovdje postavljamo 'try' i 'catch' koji hvataju pogrešku, a 'cerr' izbacuje poruku o pogrešci koju smo dodali nakon ključne riječi 'throw'.
Kod 7:
#includekoristeći prostor imena std ;
int moja_podjela ( int a1 , int a2 ) {
ako ( a2 == 0 ) {
bacanje 'Dijeljenje s nulom nije moguće!' ;
}
povratak ( a1 / a2 ) ;
}
int glavni ( ) {
int x = 87 ;
int i = 0 ;
int d_ništa = 0 ;
probati {
d_ništa = moja_podjela ( x , i ) ;
cout << d_ništa << endl ;
} ulov ( konst char * poruka ) {
cerr << poruka << endl ;
}
povratak 0 ;
}
Izlaz:
Ovdje se pojavljuje poruka o pogrešci koja znači da želimo podijeliti broj s “0” što je nemoguće.
Zaključak
Ovdje se detaljno proučava objekt 'cerr'. Definirali smo kako objekt 'cerr' pomaže u prikazivanju poruke o pogrešci u C++ programiranju. Istražili smo više primjera u kojima smo postavili mnoge uvjete u kojima dolazi do pogreške. Također smo upotrijebili objekt 'cerr' nakon postavljanja metode try-catch i koda za otvaranje datoteke. Pokazali smo kôd kao i ishod u kojem 'cerr' prikazuje poruku o pogrešci.