18 Language support library [language.support]

18.6 Dynamic memory management [support.dynamic]

18.6.2 Storage allocation errors [alloc.errors] Type new_handler [new.handler]

typedef void (*new_handler)();

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;