# std::set_unexpected

From cppreference.com
< cpp‎ | error

Defined in header `<exception>` |  |
std::unexpected_handler set_unexpected( std::unexpected_handler f ); |  | (until C++17) (deprecated since C++11)

Makes `f` the new global std::unexpected_handler and returns the previously installed std::unexpected_handler.

This function is thread-safe. Every call to `std::set_unexpected` synchronizes-with (see std::memory_order) the subsequent calls to `std::set_unexpected` and std::get_unexpected | (since C++11)

### Parameters

f | - | pointer to function of type std::unexpected_handler, or null pointer

### Return value

The previously-installed unexpected handler, or a null pointer value if none was installed.

### Exceptions

(none) | (until C++11)
`noexcept` specification: noexcept | (since C++11)

### See also

unexpected (until C++17) | function called when dynamic exception specification is violated (function)
get_unexpected (C++11)(until C++17) | obtains the current unexpected_handler (function)
unexpected_handler (until C++17) | the type of the function called by std::unexpected (typedef)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/error/set_unexpected&oldid=91372"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template