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) | создаёт код ошибки iostream (функция) |
|
(C++11) | создаёт условие ошибки iostream (функция) |
Вспомогательные классы
|
(C++11) | расширяет характеристику типа std::is_error_code_enum для идентификации кодов ошибок iostream (специализация шаблона класса) |
Пример
#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/cpp/io/io_errc