Espacios de nombres
Variantes
Acciones

std::exception

De cppreference.com
< cpp‎ | error
 
 
Biblioteca de servicios
 
Control de errores
Control de excepciones
exception
Fallas del control de excepciones
(hasta C++17)
(hasta C++17)
(C++11)(hasta C++17)
(hasta C++17)
Códigos de error
Códigos de error
 
std::exception
Las funciones miembro
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
Definido en el archivo de encabezado <exception>
class exception;

Proporciona una interfaz consistente para controlar los 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)

Contenido

[editar] Funciones miembro

Construye el objeto excepción
(función miembro pública)
[virtual]
Destruye el objeto excepción.
(función miembro virtual pública) [editar]
Copia el objeto excepción.
(función miembro pública) [editar]
[virtual]
Devuelve una cadena aclaratoria.
(función miembro virtual pública) [editar]

[editar] Standard exception requirements

Cada clase de la biblioteca estándar T que se deriva de std::exception tiene las siguientes funciones miembro públicamente accesibles, cada una de ellas no egresan con una excepción (hasta C++11)tiene una especificación de excepción de no-lanzamiento (desde C++11):

El constructor de copia y el operador de asignación de copia cumplen con la siguiente poscondició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 uno de estos T satisface las restricciones especificadas para std::exception::what().

[editar] Excepciones estándar

[editar] Notas

Macro de prueba de característica
__cpp_lib_constexpr_exceptions 202411L (C++26) constexpr para los tipos excepción.

[editar] Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 471 C++98 No existía un requisito en las clases de la biblioteca estándar derivadas
de std::exception.
Se añadieron.