18 Language support library [language.support]

18.6 Dynamic memory management [support.dynamic]

18.6.3 Storage allocation errors [alloc.errors]

18.6.3.3 Type new_handler [new.handler]

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;