Espacios de nombres
Variantes
Acciones

std::logic_error

De cppreference.com
< cpp‎ | error
 
 
Biblioteca de servicios
 
Control de errores
Control de excepciones
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
Categorías de excepciones
logic_error
Aserciones
Facilidad system_error
(C++11)
(C++11)
 
 
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.

cpp/error/exceptionstd-logic error-inheritance.svg
Acerca de esta imagen

Inheritance diagram

Contenido

[editar] Funciones miembro

Construye el objeto excepción.
(función miembro pública) [editar]

std::logic_error::logic_error

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) [editar]
[virtual]
Devuelve una cadena aclaratoria.
(función miembro virtual pública de std::exception) [editar]