std::io_errc

来自cppreference.com
< 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

非成员函数

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

帮助类

扩充类型特征 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

参阅

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