Пример 1:
„iostream“ е включеният заглавен файл тук, който поставихме, за да можем да използваме методите „cin“ или „cout“ в нашия код, тъй като и двата метода са декларирани в него. Обектът „cerr“ също е деклариран в този заглавен файл. След това имаме „std namespace“. Сега не е нужно да добавяме това „std“ към всяка функция поотделно.
След това тук се извиква “main()”. Под това използваме обекта „cerr“ и поставяме съобщението за грешка, което искаме да покажем на конзолата. Пишем „Тук е възникнала грешка!“ съобщение в този „cerr“ след поставяне на символите за вмъкване. Когато стартираме тази програма, даденото съобщение се показва без да се използва „cout“.
Код 1:
#includeизползване на пространство от имена std ;
вътр основен ( ) {
cerr << „Тук е възникнала грешка!“ << endl ;
връщане 0 ;
}
Изход:
Съобщението, което въвеждаме след поставянето на „cerr <<“, вече се показва в този резултат, който се показва в следното:
Пример 2:
Тъй като методите „cin“ и „cout“, както и „cerr“ са декларирани в заглавния файл „iostream“, ние добавяме заглавния файл тук, за да можем да ги използваме в нашия код. След това имаме „std namespace“. Под това се извиква „main()“. Ние инициализираме “error_str[]” от типа данни “string” и присвояваме съобщение на “error_str[]”. След това използваме обекта „cerr“, където поставяме съобщението за грешка и предаваме този „error_str“. Така че, когато изпълним тази програма, тя изобразява и двете съобщения.
Код 2:
#includeизползване на пространство от имена std ;
вътр основен ( ) {
въглен error_str [ ] = „Не можем да прочетем низа тук!“ ;
cerr << „Възникна грешка:“ << error_str << endl ;
}
Изход:
Текстът, който въвеждаме, след като напишем „cerr <<“, вече се вижда в резултата, както и съобщението, което добавихме в „error_str“. Резултатът е показан и в следното:
Пример 3:
След като включим заглавния файл и след това поставим пространството от имена „std“, извикваме метода „main()“. След това целочислената променлива „NumOfLine“ се декларира тук и се инициализира с „__LINE__“. Тази „__LINE__“ генерира съобщенията за грешка. Под това използваме обекта „cerr“ и поставяме съобщението за грешка, което искаме да покажем на потребителя. Също така поставяме променливата „NumOfLine“, която показва номера на реда, на който възниква грешката в кода.
Код 3:
#includeизползване на пространство от имена std ;
вътр основен ( ) {
вътр NumOfLine = __LINE__ ;
cerr << „Възникна грешка тук на реда:“ << NumOfLine ;
връщане 0 ;
}
Изход:
Тук показва, че грешката възниква на реда „4“, тъй като добавихме „__LINE__“ на четвъртия ред на кода. Това съобщение се показва тук с помощта на обекта „cerr“ в C++.
Пример 4:
Включваме още един заглавен файл, „fstream“. Този заглавен файл „fstream“ се използва в C++ за четене, писане или създаване на файл, тъй като е комбинация от „ofstream“, както и „ifstream“. Сега, след добавяне на „std namespace“ и извикване на „main()“, ние използваме „fstream“ с променливата „new_file“.
След това използваме функцията „open()“ тук с „new_file“ и предаваме името на файла като параметър. Името на файла е „myTextFile.txt“, който искаме да отворим. Под това използваме „if“, за да предадем променливата „new_file“. Сега, ако файлът се отвори тук, операторът след „if“ се изобразява. В противен случай изразът след „else“ се изобразява там, където добавяме обекта „cerr“, за да покажем съобщение за грешка.
Код 4:
#include#include
използване на пространство от имена std ;
вътр основен ( ) {
fstream нов_файл ;
нов_файл. отворен ( 'myTextFile.txt' ) ;
ако ( нов_файл ) {
cout << „Файлът е отворен успешно тук!“ ;
}
друго {
cerr << „Възникна грешка при отваряне на файла тук!“ ;
}
връщане 0 ;
}
Изход:
Не можем да отворим файла, който предоставихме по-рано. Тук се показва съобщението за грешка, което сме вмъкнали след обекта „cerr“.
Пример 5:
Тук искаме да отворим друг файл. И така, добавяме както заглавните файлове, така и пространството от имена „std“. Сега извикваме “main()” и след това използваме “fstream” с променливата “t_file”. След това използваме функцията „open()“ в този случай с „new_file“ и предоставяме името на файла като аргумент. Файлът, който искаме да отворим, се нарича “New.txt”. Използваме израза „if“, като предаваме променливата „t_file“. Сега, ако файлът се отвори, редът, който следва „if“, се изобразява. Ако не, операторът, който следва „else“, където добавихме обекта „cerr“, за да покаже съобщение за грешка, се изобразява.
Код 5:
#include#include
използване на пространство от имена std ;
вътр основен ( ) {
fstream t_файл ;
t_файл. отворен ( 'Нов.txt' ) ;
ако ( t_файл ) {
cout << „Досието е отворено тук!“ ;
}
друго {
cerr << „Възникна грешка!“ ;
}
връщане 0 ;
}
Изход:
Предоставеният от нас файл не може да бъде отворен. И така, съобщението за грешка, което добавихме след обекта „cerr“, се показва в следното:
Пример 6:
Тук добавяме заглавен файл „изключение“, който се използва за проверка за грешки, които могат да възникнат в нашия код. По-долу инициализираме масив от целочислен тип, наречен “new_array” с размер “6”. След това задаваме „new_index“ на променливата „int“ и присвояваме „7“ тук. Сега също така инициализираме променливата „new_size“ и присвояваме „*(&new_arr + 1) – new_arr“ на променливата „new_size“.
След това използваме „опитай“, „хвърли“ и „хвани“, които се използват за проверка на грешките и извеждане на съобщението за грешка. Използваме обекта „color“, който показва съобщението за грешка, което добавихме след ключовата дума „throw“.
Код 6:
#include#include <изключение>
използване на пространство от имена std ;
вътр основен ( ) {
вътр new_arr [ 6 ] = { 1 , 9 , 4 , 3 , 8 , 7 } ;
вътр нов_индекс = 7 ;
вътр нов_размер = * ( и new_arr + 1 ) - new_arr ;
опитвам {
ако ( нов_индекс < 0 || нов_индекс >= нов_размер ) хвърлям ( „Индексът не е в обхвата. Тук е извън обхвата“ ) ;
друго
cout << new_arr [ нов_индекс ] ;
}
улов ( конст въглен * грешка ) {
cerr << грешка ;
}
връщане 0 ;
}
Изход:
Тук извежда съобщение за грешка, което показва, че „Индексът“ е извън диапазона и получаваме тази грешка, като използваме обекта „cerr“.
Пример 7:
Тук проверяваме грешка, която може да възникне, когато разделим число на нула. Създаваме функция “d()”, в която предаваме две променливи от тип данни “int” “a1” и “a2”. Под това добавяме „if“, в което предаваме условието „a2==0“. Ако стойността на 'a2' е нула, съобщението, което поставяме след 'throw', се изпълнява, което получаваме чрез поставяне на обекта 'cerr' в кода.
След това поставяме „връщане“, което връща отговора на делението, ако стойността на „a2“ не е нула. Сега извикваме „main()“ и присвояваме „87“ на „x“, след като го инициализираме като променлива „int“. След това също инициализираме променливите „b“ и „d_res“ с „0“. Тук поставяме „try“ и „catch“, които улавят грешката, а „cerr“ извежда съобщението за грешка, което добавихме след ключовата дума „throw“.
Код 7:
#includeизползване на пространство от имена std ;
вътр моето_разделение ( вътр a1 , вътр a2 ) {
ако ( a2 == 0 ) {
хвърлям 'Делението на нула не е възможно!' ;
}
връщане ( a1 / a2 ) ;
}
вътр основен ( ) {
вътр х = 87 ;
вътр и = 0 ;
вътр d_нищо = 0 ;
опитвам {
d_нищо = моето_разделение ( х , и ) ;
cout << d_нищо << endl ;
} улов ( конст въглен * съобщ ) {
cerr << съобщ << endl ;
}
връщане 0 ;
}
Изход:
Тук се появява съобщение за грешка, което означава, че искаме да разделим числото на „0“, което е невъзможно.
Заключение
Обектът “cerr” се изучава подробно тук. Дефинирахме как обектът „cerr“ помага при показване на съобщението за грешка в програмирането на C++. Разгледахме множество примери, при които поставихме много условия, при които възниква грешката. Също така използвахме обекта „cerr“ след поставяне на метода try-catch и в кода за отваряне на файла. Показахме кода, както и резултата, в който „cerr“ показва съобщение за грешка.