std:: unexpected
|
Definido en el encabezado
<exception>
|
||
|
void
unexpected
(
)
;
|
(hasta C++11) | |
|
[
[
noreturn
]
]
void
unexpected
(
)
;
|
(obsoleto en C++11)
(eliminado en C++17) |
|
std::unexpected()
es llamado por el runtime de C++ cuando se viola una
especificación de excepción dinámica
: se lanza una excepción desde una función cuya especificación de excepción prohíbe excepciones de este tipo.
std::unexpected()
también puede ser llamado directamente desde el programa.
En cualquier caso,
std::unexpected
llama al
std::unexpected_handler
actualmente instalado. El
std::unexpected_handler
predeterminado llama a
std::terminate
.
|
Si un destructor restablece el manejador de excepciones inesperadas durante el desenrollado de pila y el desenrollado posterior condujo a que se llamara a
|
(until C++11) |
|
Si un destructor restablece el manejador de excepciones inesperadas durante el desenrollado de pila, no está especificado qué manejador se llama si el desenrollado posterior condujo a que se llamara a
|
(since C++11) |
Excepciones
Lanza cualquier excepción lanzada por el std::unexpected_handler actualmente instalado.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2111 | C++11 |
el efecto de llamar
std::set_unexpected
durante el desenrollado de pila
difiere de C++98 y rompe algunas ABIs |
se hizo no especificado |
Véase también
|
(C++23)
|
representado como un valor inesperado
(plantilla de clase) |
|
(obsoleto en C++11)
(eliminado en C++17)
|
el tipo de la función llamada por
std::unexpected
(typedef) |