Namespaces
Variants

std::exception

с ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки компонентов библиотеки (C++20)
Программные утилиты
Вариативные функции
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
 
Определено в заголовке <exception>
class exception;

Предоставляет единообразный интерфейс для обработки ошибок посредством выражения throw.

Все исключения, создаваемые стандартной библиотекой, наследуются от std::exception.

Все функции-члены std::exception являются constexpr.

(начиная с C++26)

Функции-члены

создает объект исключения
(public member function)
[virtual]
уничтожает объект исключения
(virtual public member function)
копирует объект исключения
(public member function)
[virtual]
возвращает поясняющую строку
(virtual public member function)

Стандартные требования к исключениям

Каждый стандартный класс библиотеки T , который наследуется от std::exception , имеет следующие публично доступные функции-члены, каждая из которых не завершается с исключением (до C++11) имеет непорождающую исключений спецификацию (начиная с C++11) :

Конструктор копирования и оператор присваивания копированием удовлетворяют следующему постусловию:

  • Если два объекта lhs и rhs оба имеют динамический тип T и lhs является копией rhs , тогда std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) равен ​ 0 ​ .

Функция-член what() каждого такого T удовлетворяет ограничениям, указанным для std::exception::what() .

Стандартные исключения

(начиная с C++11)
(начиная с C++11)
(начиная с C++17)
(TM TS)
**Примечание:** В данном случае переводить нечего, так как: - `tx_exception` - термин C++ (не переводится) - `(TM TS)` - техническая маркировка (не переводится) - Весь остальной текст содержится в HTML-тегах и атрибутах Если бы в документе был обычный текст вне указанных ограничений, он был бы переведен на русский язык с сохранением всей HTML-разметки.
(начиная с C++20)
(начиная с C++17)
(начиная с C++23)
(начиная с C++11)
(начиная с C++11)
(до C++11)
(начиная с C++17)

Примечания

Макрос тестирования возможностей Значение Стандарт Функция
__cpp_lib_constexpr_exceptions 202411L (C++26) constexpr для типов исключений

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 471 C++98 не было требований к стандартным классам библиотеки, производным от std::exception добавлено