[new.badlength]

# 17 Language support library [[support]](./#support)

## 17.6 Dynamic memory management [[support.dynamic]](support.dynamic#new.badlength)

### 17.6.4 Storage allocation errors [[alloc.errors]](alloc.errors#new.badlength)

#### 17.6.4.2 Class bad_array_new_length [new.badlength]

namespace std {class bad_array_new_length : public bad_alloc {public:// see [[exception]](exception "17.9.3 Class exception") for the specification of the special member functionsconstexpr const char* what() const noexcept override; };}

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L3062)

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]](expr.new "7.6.2.8 New"))[.](#1.sentence-1)

[ð](#lib:what,bad_array_new_length)

`constexpr const char* what() const noexcept override;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L3074)

*Returns*: An implementation-defined ntbs[.](#2.sentence-1)
