std::logic_error
| Definido en el archivo de encabezado <stdexcept>
|
||
class logic_error; |
||
Define un tipo de objeto que se lanza como una excepción. Se informa de los errores que son consecuencia de una lógica defectuosa en el programa, tales como una violación de las precondiciones de lógica o invariantes de clase y se puede prevenir.
Ningún componente de la biblioteca estándar lanza esta excepción directamente, pero los tipos de excepción std::invalid_argument, std::domain_error, std::length_error, std::out_of_range, std::future_error, y std::experimental::bad_optional_access se derivan de std::logic_error.
Inheritance diagram
Funciones miembro
| Construye el objeto excepción. (función miembro pública) |
std::logic_error::logic_error
<tbody> </tbody> explicit logic_error( const std::string& what_arg ); |
(1) | |
explicit logic_error( const char* what_arg ); |
(2) | (desde C++11) |
Construye el objeto de excepción con what_arg como una cadena explicativa que se puede acceder a través de what().
Como al copiar std::logic_error no se permite lanzar excepciones, este mensaje típicamente se almacena internamente como una cadena con conteo de referencias asignada separadamente. Esta es también la razón por la que no existe un constructor que tome un argumento de tipo std::string&&: tendría que copiar el contenido de todas maneras.
Parámetros
| what_arg | - | Cadena explicativa. |
Excepciones
Puede lanzar std::bad_alloc
Heredado de std::exception
Funciones miembro
[virtual] |
Destruye el objeto excepción. (función miembro virtual pública de std::exception)
|
[virtual] |
Devuelve una cadena aclaratoria. (función miembro virtual pública de std::exception)
|