void unexpected();
(until C++11)[[noreturn]] void unexpected();
(deprecated in C++11)std::unexpected()
is called by the C++ runtime when a dynamic exception specification is violated: an exception is thrown from a function whose exception specification forbids exceptions of this type.
std::unexpected()
may also be called directly from the program.
In either case, std::unexpected
calls the currently installed std::unexpected_handler. The default std::unexpected_handler calls std::terminate.
If a destructor reset the unexpected handler during stack unwinding and the unwinding later led to unexpected
being called, the handler that was installed at the end of the throw expression is the one that will be called (note: it was ambiguous whether re-throwing applied the new handlers).
If a destructor reset the unexpected handler during stack unwinding, it is unspecified which handler is called if the unwinding later led to unexpected
being called.
Throw any exception thrown by the currently installed std::unexpected_handler.
[edit] Defect reportsThe following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior LWG 2111 C++11 effect of calling std::set_unexpected during stack(deprecated in C++11)(removed in C++17)
the type of the function called by std::unexpectedRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4