Proporciona una interfaz coherente para manejar errores a través de la expresión throw.
Todas las excepciones generadas por la biblioteca estándar heredan de std::exception.
|
Todas las funciones miembro de std::exception son constexpr.
|
(desde C++26) |
Funciones miembro
|
|
construye el objeto de excepción
(función miembro pública)
|
|
|
destruye el objeto de excepción
(función miembro pública virtual)
|
|
|
copia el objeto de excepción
(función miembro pública)
|
|
|
devuelve una cadena explicativa
(función miembro pública virtual)
|
Requisitos estándar de excepciones
Cada clase de la biblioteca estándar
T
que deriva de
std::exception
tiene las siguientes funciones miembro accesibles públicamente, cada una de ellas
no finaliza con una excepción
(hasta C++11)
teniendo una
especificación de excepción no lanzadora
(desde C++11)
:
El constructor de copia y el operador de asignación de copia cumplen la siguiente postcondición:
-
Si dos objetos
lhs
y
rhs
tienen ambos tipo dinámico
T
y
lhs
es una copia de
rhs
, entonces
std::
strcmp
(
lhs.
what
(
)
, rhs.
what
(
)
)
es igual a
0
.
La función miembro
what()
de cada
T
satisface las restricciones especificadas para
std::exception::what()
.
Excepciones estándar
-
-
Notas
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
|
DR
|
Se aplica a
|
Comportamiento publicado
|
Comportamiento correcto
|
|
LWG 471
|
C++98
|
no existía ningún requisito para las clases de la biblioteca estándar derivadas de
std::exception
|
añadido
|