namespace std { class bad_alloc : public exception { public: bad_alloc() noexcept; bad_alloc(const bad_alloc&) noexcept; bad_alloc& operator=(const bad_alloc&) noexcept; virtual const char* what() const noexcept; }; }
The class bad_alloc defines the type of objects thrown as exceptions by the implementation to report a failure to allocate storage.
Effects: Constructs an object of class bad_alloc.
Remarks: The result of calling what() on the newly constructed object is implementation-defined.
bad_alloc(const bad_alloc&) noexcept;
bad_alloc& operator=(const bad_alloc&) noexcept;
Effects: Copies an object of class bad_alloc.
virtual const char* what() const noexcept;
namespace std { class bad_array_new_length : public bad_alloc { public: bad_array_new_length() noexcept; }; }
The class bad_array_new_length defines the type of objects thrown as exceptions by the implementation to report an attempt to allocate an array of size less than zero or greater than an implementation-defined limit ([expr.new]).
Effects: constructs an object of class bad_array_new_length.
Remarks: the result of calling what() on the newly constructed object is implementation-defined.
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.
new_handler set_new_handler(new_handler new_p) noexcept;
Effects: Establishes the function designated by new_p as the current new_handler.
Returns: The previous new_handler.
Remarks: The initial new_handler is a null pointer.
new_handler get_new_handler() noexcept;
Returns: The current new_handler. [ Note: This may be a null pointer value. — end note ]