std::io_errc

来自cppreference.com
< cpp‎ | io
在标头 <ios> 定义
enum class io_errc {

    stream = 1,

};
(C++11 起)

有作用域枚举 std::io_errc 定义 I/O 流在 std::ios_base::failure 异常对象中报告的错误码。只规定了一个错误码(std::io_errc::stream),但实现可以定义额外的错误码。因为提供了 std::is_error_code_enum 的适当特化,故 std::io_errc 类型的值能隐式转换成 std::error_code

成员常量

枚举常量
stream 1

非成员函数

构造一个 iostream 错误码
(函数)
构造一个 iostream error_condition
(函数)

帮助类

扩充类型特征 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 << "捕获了 ios_base::failure。\n";
        if (e.code() == std::io_errc::stream)
            std::cout << "错误码为 std::io_errc::stream\n";
    }
}

输出:

捕获了 ios_base::failure。
错误码为 std::io_errc::stream

参阅

保有依赖于平台的错误码
(类)
保有可移植的错误码
(类)
流异常
(std::ios_base 的公开成员类)