std::exception:: exception
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
exception::exception
|
||||
| (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.
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 |