Объект cerr
Объект cerr представляет собой стандартный поток вывода ошибок
(standard error stream) и относится к классу ostream.
Он используется для вывода сообщений об ошибках и диагностической информации.
В отличие от cout, объект cerr не буферизуется - данные
выводятся сразу, что важно при отладке и аварийных ситуациях.
Объект cerr связан с потоком stderr и по умолчанию
направлен на консоль. Синтаксис его использования аналогичен cout:
данные передаются оператором <<.
Синтаксис
cerr << value;
Пример
Давайте выведем простое сообщение об ошибке в поток cerr:
#include <iostream>
using namespace std;
int main()
{
cerr << "Error: something went wrong" << endl;
return 0;
}
Результат выполнения кода:
"Error: something went wrong"
Пример
Давайте сравним поведение cout и cerr, выведя
числовые значения и строку:
#include <iostream>
using namespace std;
int main()
{
int code = 404;
cout << "Info: " << code << endl;
cerr << "Error: " << code << endl;
return 0;
}
Результат выполнения кода:
"Info: 404"
"Error: 404"
Пример
Давайте используем cerr внутри условия для вывода сообщения
при некорректном значении переменной:
#include <iostream>
using namespace std;
int main()
{
int res = -1;
if (res < 0) {
cerr << "Error: res is negative" << endl;
}
return 0;
}
Результат выполнения кода:
"Error: res is negative"