std::make_error_code(std::io_errc)

来自cppreference.com
< cpp‎ | io‎ | io errc
在标头 <ios> 定义
std::error_code make_error_code( std::io_errc e ) noexcept;
(C++11 起)

std::io_errc 类型的值构造一个 std::error_code 对象,如同通过 return std::error_code(static_cast<int>(e), std::iostream_category())

此函数会被 std::error_code 的带有 std::io_errc 参数的构造函数调用。

参数

e - 错误码编号

返回值

std::error_code 类型的值,保有来自 e 的错误码编号,关联到错误类别 "iostream"

示例

#include <iostream>
#include <system_error>
 
int main()
{
    std::error_code ec = std::make_error_code(std::io_errc::stream);
 
    // 因为有重载方法和 is_error_code_enum 特化,所以可以这样操作
    ec = std::io_errc::stream;
 
    std::cout << "来自 io_errc::stream 的错误码具有类别 "
              << ec.category().name() << '\n';
}

输出:

来自 io_errc::stream 的错误码具有类别 iostream

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2087 C++11 make_error_code(io_errc) 未声明为 noexcept 声明为 noexcept

参阅

保有依赖于平台的错误码
(类)
(C++11)
输入/输出流的错误码
(枚举)
构造 std::errc 错误码
(函数)
构造一个 future error_code
(函数)