std::exception
来自cppreference.com
在标头 <exception> 定义
|
||
class exception; |
||
提供一致的接口,以通过 throw 表达式处理错误。
标准库所生成的所有异常都继承自 std::exception
。
|
(C++26 起) |
目录 |
[编辑] 成员函数
构造异常对象 (公开成员函数) | |
[虚] |
销毁该异常对象 (虚公开成员函数) |
复制异常对象 (公开成员函数) | |
[虚] |
返回解释性字符串 (虚公开成员函数) |
[编辑] 标准异常要求
派生于 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 起) |
[编辑] 注解
功能特性测试宏 | 值 | 标准 | 功能特性 |
---|---|---|---|