21 Language support library [language.support]

21.8 Exception handling [support.exception]

21.8.3 Class bad_­exception [bad.exception]

namespace std {
  class bad_exception : public exception {
  public:
    bad_exception() noexcept;
    bad_exception(const bad_exception&) noexcept;
    bad_exception& operator=(const bad_exception&) noexcept;
    const char* what() const noexcept override;
  };
}

Класс bad_­exception определяет тип объекта, на который ссылается exception_­ptr возвращаемый из вызова current_­exception ([propagation]), когда текущий активный объект исключения не удается скопировать.

bad_exception() noexcept;

Effects: Создает объект класса bad_­exception.

bad_exception(const bad_exception&) noexcept; bad_exception& operator=(const bad_exception&) noexcept;

Effects: Копирует объект класса bad_­exception.

const char* what() const noexcept override;

Returns: An реализации определенных НТБ .

Remarks: Сообщение может быть null-terminated multibyte string, подходящим для преобразования и отображенным как wstring ([string.classes], [locale.codecvt]).