18 Language support library [language.support]

18.6 Dynamic memory management [support.dynamic]

18.6.2 Storage allocation errors [alloc.errors] Class bad_array_new_length [new.badlength]

namespace std {
  class bad_array_new_length : public bad_alloc {
    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]).

bad_array_new_length() noexcept;

Effects: constructs an object of class bad_array_new_length.

Remarks: the result of calling what() on the newly constructed object is implementation-defined.