std::exception:: exception
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
exception::exception
|
||||
| (1) | ||
|
exception
(
)
throw
(
)
;
|
(до C++11) | |
|
exception
(
)
noexcept
;
|
(начиная с C++11)
(constexpr начиная с C++26) |
|
| (2) | ||
|
exception
(
const
exception
&
other
)
throw
(
)
;
|
(до C++11) | |
|
exception
(
const
exception
&
other
)
noexcept
;
|
(начиная с C++11)
(constexpr начиная с C++26) |
|
Создает новый объект исключения.
std::exception
, тогда
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Параметры
| other | - | другое исключение для присвоения содержимого |
Примечания
Поскольку копирование
std::exception
не должно генерировать исключения, когда производные классы (такие как
std::runtime_error
) должны управлять пользовательским диагностическим сообщением, это обычно реализуется как строка с копированием при записи.
Реализация Microsoft включает нестандартные конструкторы, принимающие строки, что позволяет создавать экземпляры непосредственно с осмысленным сообщением об ошибке. Ближайшими стандартными аналогами являются std::runtime_error или std::logic_error .
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 471 | C++98 | there is no requirement on what() of the exception copy | added |