# std::io_errc

< cpp‎ | io

定义于头文件 `<ios>` |  |
enum class io_errc; |  | (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

### 非成员函数

make_error_code(std::io_errc) (C++11) | 构造一个 iostream 错误码 (函数)
make_error_condition(std::io_errc) (C++11) | 构造一个 iostream error_condition (函数)

### 帮助类

is_error_code_enum<std::io_errc> (C++11) | 扩充类型特征 std::is_error_code_enum 以鉴别 iostream 错误码 (类模板特化)

### 示例

    #include <iostream>
    #include <fstream>
    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` 的公开成员类)