set_unexpected() takes a pointer to a user-defined function of the following type:
typedef void (*handler)();
Use set_unexpected() to register a user-defined routine that will be invoked when a function throws an exception not listed in its exception specification, use set_unexpected(). For example:
#include void my_handler() // will be called instead of terminate(){ write_to_log("a violation of an exception specification"); // additional cleanup operations