函式
<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 的呼叫同步。

異常安全

無異常保證:此函式從不丟擲異常。

另見