Espacios de nombres
Variantes
Acciones

std::domain_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
domain_error
Aserciones
Facilidad system_error
(C++11)
(C++11)
 
 
Definido en el archivo de encabezado <stdexcept>
class domain_error;

Define un tipo de objeto que se lanza como una excepción. Puede utilizarse por la implementación para reportar errores de dominio. Es decir, situaciones donde las entradas están fuera del dominio para el que la operación está definida.

Los componentes de la biblioteca estándar no lanzan esta excepción (las funciones matemáticas reportan errores de dominio como se especifica en math_errhandling). Bibliotecas de terceros, sin embargo, la utilizan. Por ejemplo, boost.math lanza std::domain_error si boost::math::policies::throw_on_error está habilitado (el ajuste por defecto).

cpp/error/exceptioncpp/error/logic errorstd-domain 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::domain_error::domain_error

explicit domain_error( const std::string& what_arg );
(1)
explicit domain_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::domain_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]