std::set_unexpected
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <exception>
  | 
||
|   std::unexpected_handler set_unexpected( std::unexpected_handler f ) throw();  | 
(until C++11) | |
|   std::unexpected_handler set_unexpected( std::unexpected_handler f ) noexcept;  | 
 (deprecated in C++11)  (removed in C++17)  | 
|
Makes f the new global std::unexpected_handler and returns the previously installed std::unexpected_handler.
| 
 This function is thread-safe. Every call to   | 
(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.
See also
|    (deprecated in C++11)(removed in C++17)  | 
  function called when dynamic exception specification is violated  (function)  | 
|    (deprecated in C++11)(removed in C++17)  | 
  obtains the current unexpected_handler (function)  | 
|    (deprecated in C++11)(removed in C++17)  | 
  the type of the function called by std::unexpected  (typedef)  |