std::make_error_condition(std::io_errc)
Определён в заголовочном файле <ios> | ||
|---|---|---|
std::error_condition make_error_condition( std::io_errc e ) noexcept; | (начиная с C++11) |
Создаёт объект std::error_condition из значения типа std::io_errc, как если бы это было выполнено с помощью return std::error_condition(static_cast<int>(e), std::iostream_category()).
Параметры
| e | - | номер кода ошибки |
Возвращаемое значение
Значение типа std::error_condition, содержащее номер кода ошибки из e, связанный с категорией ошибок "iostream".
Пример
#include <iostream>
#include <system_error>
int main()
{
std::error_condition ec = std::make_error_condition(std::io_errc::stream);
std::cout << "error condition for io_errc::stream has value " << ec.value()
<< "\nand message \"" << ec.message() << "\"\n";
}
Вывод:
error condition for io_errc::stream has value 1 and message "unspecified iostream_category error"
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение согласно опубликованной версии | Правильное поведение |
|---|---|---|---|
| LWG 2087 | C++11 |
make_error_condition(io_errc) не было объявлено noexcept | объявлено с noexcept |
См. также
|
(C++11) | содержит переносимый код ошибки (класс) |
|
(C++11) | коды ошибок потоков ввода-вывода (перечисление) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/io_errc/make_error_condition