std:: unexpected
|
Défini dans l'en-tête
<exception>
|
||
|
void
unexpected
(
)
;
|
(jusqu'à C++11) | |
|
[
[
noreturn
]
]
void
unexpected
(
)
;
|
(obsolète en C++11)
(supprimé en C++17) |
|
std::unexpected()
est appelé par l'environnement d'exécution C++ lorsqu'une
spécification d'exception dynamique
est violée : une exception est levée depuis une fonction dont la spécification d'exception interdit les exceptions de ce type.
std::unexpected()
peut également être appelé directement depuis le programme.
Dans les deux cas,
std::unexpected
appelle le
std::unexpected_handler
actuellement installé.
Le
std::unexpected_handler
par défaut appelle
std::terminate
.
|
Si un destructeur réinitialise le gestionnaire d'exceptions inattendues pendant le déroulement de la pile et que le déroulement conduit ultérieurement à l'appel de
|
(jusqu'en C++11) |
|
Si un destructeur réinitialise le gestionnaire d'exceptions inattendues pendant le déroulement de la pile, il n'est pas spécifié quel gestionnaire est appelé si le déroulement conduit ultérieurement à l'appel de
|
(depuis C++11) |
Exceptions
Lance toute exception lancée par le std::unexpected_handler actuellement installé.
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 | Applicable à | Comportement tel que publié | Comportement corrigé |
|---|---|---|---|
| LWG 2111 | C++11 |
l'effet de l'appel à
std::set_unexpected
pendant le déroulement
de la pile diffère de C++98 et brise certaines ABI |
rendu non spécifié |
Voir aussi
|
(C++23)
|
représenté comme une valeur inattendue
(modèle de classe) |
|
(obsolète en C++11)
(supprimé en C++17)
|
le type de la fonction appelée par
std::unexpected
(typedef) |