std::exception:: exception
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
exception::exception
|
||||
| (1) | ||
|
exception
(
)
throw
(
)
;
|
(jusqu'à C++11) | |
|
exception
(
)
noexcept
;
|
(depuis C++11)
(constexpr depuis C++26) |
|
| (2) | ||
|
exception
(
const
exception
&
other
)
throw
(
)
;
|
(jusqu'à C++11) | |
|
exception
(
const
exception
&
other
)
noexcept
;
|
(depuis C++11)
(constexpr depuis C++26) |
|
Construit un nouvel objet d'exception.
std::exception
alors
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Paramètres
| other | - | une autre exception pour assigner le contenu de |
Notes
Parce que la copie de
std::exception
n'est pas autorisée à lever des exceptions, lorsque les classes dérivées (telles que
std::runtime_error
) doivent gérer un message de diagnostic défini par l'utilisateur, il est généralement implémenté sous forme de chaîne à copie différée.
L'implémentation Microsoft inclut des constructeurs non standard prenant des chaînes de caractères, permettant ainsi de lever directement des instances avec un message d'erreur significatif. Les équivalents standards les plus proches sont std::runtime_error ou std::logic_error .
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 471 | C++98 | aucune exigence n'est imposée sur what() de la copie d'exception | ajoutée |