using new_handler = void (*)();
The type of a handler function to be called by operator new() or operator new[]() ([new.delete]) when they cannot satisfy a request for additional storage.
Required behavior: A new_handler shall perform one of the following:
make more storage available for allocation and then return;
throw an exception of type bad_alloc or a class derived from bad_alloc;
terminate execution of the program without returning to the caller.