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;  | 
 (since C++11)  (deprecated) (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
|    (removed in C++17)  | 
   function called when dynamic exception specification is violated  (function)  | 
|    (C++11)(removed in C++17)  | 
   obtains the current unexpected_handler  (function)  | 
|    (removed in C++17)  | 
    the type of the function called by std::unexpected   (typedef)  |