17 Language support library [language.support]

17.6 Dynamic memory management [support.dynamic]

17.6.3 Storage allocation errors [alloc.errors]

17.6.3.1 Class bad_­alloc [bad.alloc]

namespace std {
  class bad_alloc : public exception {
  public:
    // see [exception] for the specification of the special member functions
    const char* what() const noexcept override;
  };
}
The class bad_­alloc defines the type of objects thrown as exceptions by the implementation to report a failure to allocate storage.
const char* what() const noexcept override;
Returns: An implementation-defined ntbs.