16 Library introduction [library]

16.5 Library-wide requirements [requirements]

16.5.4 Constraints on programs [constraints]

16.5.4.7 Handler functions [handler.functions]

The C++ standard library provides a default version of the following handler function ([support]):
A C++ program may install different handler functions during execution, by supplying a pointer to a function defined in the program or the library as an argument to (respectively):
  • set_Β­new_Β­handler
  • set_Β­terminate
See also subclauses [alloc.errors], Storage allocation errors, and [support.exception], Exception handling.
A C++ program can get a pointer to the current handler function by calling the following functions:
Calling the set_Β­* and get_Β­* functions shall not incur a data race.
A call to any of the set_Β­* functions shall synchronize with subsequent calls to the same set_Β­* function and to the corresponding get_Β­* function.