Spec-Zone.ru › C++

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

Независимые функции

make_error_code(std::io_errc)
(C++11)
создаёт код ошибки потока ввода/вывода
(функция)
make_error_condition(std::io_errc)
(C++11)
создаёт условие ошибки потока ввода/вывода
(функция)

Вспомогательные классы

is_error_code_enum<std::io_errc>
(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

См. также

error_code
(C++11)
хранит платформенно-зависимый код ошибки
(класс)
error_condition
(C++11)
хранит переносимый код ошибки
(класс)
failure
исключение потока
(публичный вложенный класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API