std::io_errc
Определено в заголовке <ios> | ||
|---|---|---|
enum class io_errc {
stream = 1,
};
| (с C++11) |
Перечисление std::io_errc определяет коды ошибок, сообщаемые потоками ввода/вывода в объектах исключения std::ios_base::failure. Требуется только один код ошибки (std::io_errc::stream), хотя реализация может определить дополнительные коды ошибок. Поскольку предоставляется соответствующая специализация std::is_error_code_enum, значения типа std::io_errc неявно преобразуются в std::error_code.
Члены-константы
| Константа перечисления | Значение |
|---|---|
stream | 1 |
Независимые функции
|
(C++11) | создаёт код ошибки потока ввода/вывода (функция) |
|
(C++11) | создаёт условие ошибки потока ввода/вывода (функция) |
Вспомогательные классы
|
(C++11) | расширяет шаблонный класс std::is_error_code_enum для идентификации кодов ошибок потоков ввода/вывода (специализация шаблонного класса) |
Пример
#include <fstream>
#include <iostream>
int main()
{
std::ifstream f("doesn't exist");
try
{
f.exceptions(f.failbit);
}
catch (const std::ios_base::failure& e)
{
std::cout << "Caught an ios_base::failure.\n";
if (e.code() == std::io_errc::stream)
std::cout << "The error code is std::io_errc::stream\n";
}
}Вывод:
Caught an ios_base::failure. The error code is std::io_errc::stream
См. также
|
(C++11) | хранит платформенно-зависимый код ошибки (класс) |
|
(C++11) | хранит переносимый код ошибки (класс) |
| исключение потока (публичный вложенный класс std::ios_base) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/io_errc