std::unexpected_handler
来自cppreference.com
|
|
该页由英文版维基使用谷歌翻译机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击此处。 |
<metanoindex/>
| 在标头 <exception> 定义
|
||
| |
(弃用) | |
。
std::unexpected_handler的函数指针类型(指针到函数不带任何参数,并返回void),这是安装和查询的功能std::set_unexpected和std::get_unexpected,并呼吁通过std::unexpected.。 C + +的实现提供了一个默认
std::unexpected_handler功能,这就要求std::terminate()。如果空指针的值是安装(手段std::set_terminate),实现可能会恢复默认的处理程序,而不是.用户定义的
std::unexpected_handler预计终止程序,或者抛出一个异常。如果它抛出一个异常,可能会遇到以下三种情况之一的:1)
。
std::unexpected_handler满足动态例外,规范,违反了新的例外是允许逃跑的功能和堆栈平仓继续2)
。抛出的异常的
std::unexpected_handler仍然违反的异常规范。。2A),但是,异常规范允许
std::bad_exception:抛出的异常对象被销毁,std::bad_exception是通过C + +运行时抛出,而不是.。 2B)的例外规范不允许
std::bad_exception:std::terminate()被称为.