函数
<exception>

std::get_unexpected

unexpected_handler get_unexpected() noexcept;
获取 unexpected 处理函数
获取 *unexpected handler* 函数。

当一个函数抛出一个不在其 *dynamic-exception-specification* (即其 throw 说明符) 中的异常时,*unexpected handler* 函数会被自动调用。

如果程序之前调用 set_unexpected 还没有设置这样的函数,该函数可能会返回一个 *null-pointer* (尽管有些实现也可能返回一个调用 terminate 的有效函数指针)。

参数



返回值

如果程序之前调用了 set_unexpected,该函数将返回当前 *unexpected handler* 函数。
否则,它将返回一个未指定的值 (一个 *null-pointer* 或一个有效的函数指针)。

unexpected_handler 是一个不接受参数且不返回任何值的函数指针类型。

兼容性

*dynamic-exception-specifier*的使用已被弃用(自C++11起)。

数据竞争

调用此函数不会引入数据竞争,并且与 set_unexpected 的调用同步。

异常安全

无异常保证:此函数从不抛出异常。

另见