std::bad_exception
来自 cppreference.com
定义在头文件 <exception> 中 |
||
class bad_exception; |
||
std::bad_exception
是 C++ 运行时在以下情况下抛出的异常的类型
|
(自 C++11 起) |
|
(C++17 之前) |
继承图
内容 |
[编辑] 成员函数
构造 bad_exception 对象(公共成员函数) | |
复制对象 (公共成员函数) | |
[虚函数] |
返回解释性字符串 (虚公共成员函数) |
从 std::exception 继承而来
成员函数
[虚函数] |
销毁异常对象 ( std::exception 的虚公共成员函数) |
[虚函数] |
返回解释性字符串 ( std::exception 的虚公共成员函数) |
[编辑] 示例
仅在 C++14 或更早模式下编译(可能会发出警告)。
运行此代码
#include <exception> #include <iostream> #include <stdexcept> void my_unexp() { throw; } void test() throw(std::bad_exception) // Dynamic exception specifications // are deprecated in C++11 { throw std::runtime_error("test"); } int main() { std::set_unexpected(my_unexp); // Deprecated in C++11, removed in C++17 try { test(); } catch (const std::bad_exception& e) { std::cerr << "Caught " << e.what() << '\n'; } }
可能的输出
Caught std::bad_exception