std:: exception
|
定义于头文件
<exception>
|
||
|
class
exception
;
|
||
提供通过 throw表达式 处理错误的一致性接口。
标准库生成的所有异常均继承自
std::exception
。
|
|
(since C++26) |
目录 |
成员函数
|
构造异常对象
(公开成员函数) |
|
|
[virtual]
|
销毁异常对象
(虚公开成员函数) |
|
复制异常对象
(公开成员函数) |
|
|
[virtual]
|
返回说明性字符串
(虚公开成员函数) |
标准异常要求
每个从
std::exception
派生的标准库类
T
都具有以下公开可访问的成员函数,其中每个函数
不会因异常而退出
(C++11 前)
具有
不抛出的异常规范
(C++11 起)
:
复制构造函数与复制赋值运算符满足以下后置条件:
-
如果两个对象
lhs
和
rhs
都具有动态类型
T,且 lhs 是 rhs 的副本,则 std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) 等于 0 。
每个此类
T
的
what()
成员函数均满足为
std::exception::what()
所规定的约束条件。
标准异常
| (自 C++11 起) |
| (自 C++11 起) |
| (自 C++17 起) |
| (TM TS) |
| (自 C++20 起) |
| (自 C++17 起) |
| (自 C++23 起) |
| (自 C++11 起) |
| (自 C++11 起) |
| (C++11 前) |
| (自 C++17 起) |
注释
| 功能测试 宏 | 值 | 标准 | 功能 |
|---|---|---|---|
__cpp_lib_constexpr_exceptions
|
202411L
|
(C++26) | constexpr for exception types |
缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的C++标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 471 | C++98 |
未对继承自
std::exception
的标准库类提出要求
|
已添加 |