std::iostream_category
来自cppreference.com
| 在标头 <ios> 定义
|
||
| |
(C++11 起) | |
获取为 iostream 错误而设的静态错误类别对象的引用。要求对象覆写虚函数 error_category::name() 以返回指向字符串 "iostream" 的指针。它也用来鉴别由 std::ios_base::failure 类型的异常提供的错误码。
参数
(无)
返回值
从 std::error_category 派生的未指定运行时类型的静态对象的引用。
示例
运行此代码
#include <fstream>
#include <iostream>
int main()
{
std::ifstream f("不存在");
try
{
f.exceptions(f.failbit);
}
catch (const std::ios_base::failure& e)
{
std::cout << "捕获了 ios_base::failure。\n"
<< "错误码:" << e.code().value()
<< "(" << e.code().message() << ")\n"
<< "错误类别:" << e.code().category().name() << '\n';
}
}
可能的输出:
捕获了 ios_base::failure。
错误码:1(unspecified iostream_category error)
错误类别:iostream
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| LWG 2087 | C++11 | iostream_category 未声明为 noexcept
|
声明为 noexcept
|
参阅
| 流异常 ( std::ios_base 的公开成员类)
| |
(C++11) |
输入/输出流的错误码 (枚举) |