std:: iostream_category
From cppreference.net
|
定义于头文件
<ios>
|
||
|
const
std::
error_category
&
iostream_category
(
)
noexcept
;
|
(C++11 起) | |
获取iostream错误类别的静态错误类别对象引用。该对象需要重写虚函数 error_category :: name ( ) 以返回指向字符串 "iostream" 的指针。该对象用于标识 std::ios_base::failure 类型异常中提供的错误代码。
目录 |
参数
(无)
返回值
对具有未指定运行时类型的静态对象的引用,该类型派生自 std::error_category 。
示例
运行此代码
#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 << "Caught an ios_base::failure.\n" << "Error code: " << e.code().value() << " (" << e.code().message() << ")\n" << "Error category: " << e.code().category().name() << '\n'; } }
可能的输出:
Caught an ios_base::failure. Error code: 1 (unspecified iostream_category error) Error category: iostream
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 缺陷报告 | 应用于 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 2087 | C++11 |
iostream_category
未被声明为
noexcept
|
声明为 noexcept |
参见
|
流异常
(
std::ios_base
的公开成员类)
|
|
|
(C++11)
|
IO流错误码
(枚举) |