Namespaces
Variants

std::exception:: exception

From cppreference.net
Utilities library
(1)
exception ( ) throw ( ) ;
(hasta C++11)
exception ( ) noexcept ;
(desde C++11)
(constexpr desde C++26)
(2)
exception ( const exception & other ) throw ( ) ;
(hasta C++11)
exception ( const exception & other ) noexcept ;
(desde C++11)
(constexpr desde C++26)

Construye un nuevo objeto de excepción.

1) Constructor por defecto. what() devuelve una cadena definida por la implementación.
2) Constructor de copia. Inicializa los contenidos con los de other . Si * this y other ambos tienen tipo dinámico std::exception entonces std:: strcmp ( what ( ) , other. what ( ) ) == 0 .

Parámetros

other - otra excepción para asignar el contenido de

Notas

Debido a que copiar std::exception no está permitido lanzar excepciones, cuando las clases derivadas (como std::runtime_error ) tienen que gestionar un mensaje de diagnóstico definido por el usuario, normalmente se implementa como una cadena de copia en escritura.

La implementación de Microsoft incluye constructores no estándar que toman cadenas, permitiendo así que las instancias sean lanzadas directamente con un mensaje de error significativo. Los equivalentes estándar más cercanos son std::runtime_error o std::logic_error .

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 471 C++98 no existe un requisito para what() de la copia de excepción añadido