[[noreturn]] void terminate() noexcept;
Called by the implementation when exception
handling must be abandoned for any of several reasons ([except.terminate]),
in effect immediately after evaluating the throw-expression ([terminate.handler]).
May also be called directly by the program.
Calls the current terminate_handler function. [ Note: A
default terminate_handler is always considered a callable handler in
this context. — end note ]