[bad.alloc] # 17 Language support library [[support]](./#support) ## 17.6 Dynamic memory management [[support.dynamic]](support.dynamic#bad.alloc) ### 17.6.4 Storage allocation errors [[alloc.errors]](alloc.errors#bad.alloc) #### 17.6.4.1 Class bad_alloc [bad.alloc] [🔗](#lib:bad_alloc,constructor) namespace std {class bad_alloc : public exception {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#L3031) The classbad_alloc defines the type of objects thrown as exceptions by the implementation to report a failure to allocate storage[.](#1.sentence-1) [🔗](#lib:what,bad_alloc) `constexpr const char* what() const noexcept override; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L3043) *Returns*: An implementation-defined ntbs[.](#2.sentence-1)