Метод message
Метод message класса error_code возвращает
строку с текстовым описанием ошибки, соответствующей
коду, который хранится в объекте. Метод не принимает
параметров и возвращает объект типа string.
Полученная строка зависит от установленной категории
ошибок и обычно содержит понятное человеку сообщение.
Синтаксис
error_code ec;
ec.message()
Пример
Давайте создадим объект error_code с кодом 0
и выведем его текстовое описание:
#include <iostream>
#include <system_error>
using namespace std;
int main()
{
error_code ec(0, generic_category());
cout << ec.message() << endl;
return 0;
}
Результат выполнения кода:
"Success"
Пример
Давайте создадим объект error_code с кодом 2
из категории generic_category и получим описание
этой ошибки:
#include <iostream>
#include <system_error>
using namespace std;
int main()
{
error_code ec(2, generic_category());
cout << ec.message() << endl;
return 0;
}
Результат выполнения кода:
"No such file or directory"
Пример
Давайте создадим объект error_code с кодом 0
и проверим, что сообщение об ошибке пустое только
при успешном выполнении. Сравним длину строки с нулем:
#include <iostream>
#include <string>
#include <system_error>
using namespace std;
int main()
{
error_code ec(0, generic_category());
string msg = ec.message();
if (msg.empty()) {
cout << "empty" << endl;
} else {
cout << msg << endl;
}
return 0;
}
Результат выполнения кода:
"Success"
Смотрите также
-
класс
error_code,
который хранит код ошибки -
метод
value,
который возвращает код ошибки -
функция
make_error_code,
которая создает объект error_code -
класс
system_error,
который используется для исключений системы