Namespaces
Variants

Diagnostics library

From cppreference.net

Contenidos

Manejo de excepciones

El encabezado <exception> proporciona varias clases y funciones relacionadas con el manejo de excepciones en programas C++.

Definido en el encabezado <exception>
clase base para las excepciones lanzadas por los componentes de la biblioteca estándar
(clase)
Captura y almacenamiento de objetos de excepción
( removed in C++20* ) (C++17)
verifica si el manejo de excepciones está actualmente en progreso
(función)
tipo de puntero compartido para manejar objetos de excepción
(typedef)
crea un std::exception_ptr a partir de un objeto de excepción
(plantilla de función)
captura la excepción actual en un std::exception_ptr
(función)
lanza la excepción desde un std::exception_ptr
(función)
un tipo mixin para capturar y almacenar excepciones actuales
(clase)
lanza su argumento con std::nested_exception incorporado
(plantilla de función)
lanza la excepción desde un std::nested_exception
(plantilla de función)
Manejo de fallos en el manejo de excepciones
Definido en el encabezado <exception>
función llamada cuando el manejo de excepciones falla
(función)
el tipo de la función llamada por std::terminate
(typedef)
obtiene el terminate_handler actual
(función)
cambia la función a ser llamada por std::terminate
(función)
excepción lanzada cuando std::current_exception falla al copiar el objeto de excepción
(clase)
Manejo de violaciones de especificación de excepciones (hasta C++17)
(deprecated in C++11) (removed in C++17)
función llamada cuando se viola la especificación de excepción dinámica
(función)
(obsoleto en C++11) (eliminado en C++17)
el tipo de la función llamada por std::unexpected
(typedef)
(obsoleto en C++11) (eliminado en C++17)
obtiene el actual unexpected_handler
(función)
(obsoleto en C++11) (eliminado en C++17)
cambia la función a ser llamada por std::unexpected
(función)

Categorías de excepciones

En el encabezado <stdexcept> se predefinen varias clases de conveniencia para reportar condiciones de error particulares. Estas clases pueden dividirse en dos categorías: errores de lógica y errores de tiempo de ejecución . Los errores de lógica son consecuencia de una lógica defectuosa dentro del programa y pueden ser prevenibles. Los errores de tiempo de ejecución se deben a eventos fuera del alcance del programa y no pueden predecirse fácilmente.

Definido en el encabezado <stdexcept>
clase de excepción para indicar violaciones de precondiciones lógicas o invariantes de clase
(clase)
clase de excepción para reportar argumentos inválidos
(clase)
clase de excepción para reportar errores de dominio
(clase)
clase de excepción para reportar intentos de exceder el tamaño máximo permitido
(clase)
clase de excepción para reportar argumentos fuera del rango esperado
(clase)
clase de excepción para indicar condiciones solo detectables en tiempo de ejecución
(clase)
clase de excepción para reportar errores de rango en cálculos internos
(clase)
clase de excepción para reportar desbordamientos aritméticos
(clase)
clase de excepción para reportar subdesbordamientos aritméticos
(clase)
clase de excepción para cancelar transacciones atómicas
(plantilla de clase)

Números de error

Definido en el encabezado <cerrno>
macro que se expande a variable de número de error local al hilo compatible con POSIX
(macro variable)
macros para condiciones de error estándar compatibles con POSIX
(macro constante)

Error del sistema (desde C++11)

El encabezado <system_error> define tipos y funciones utilizados para reportar condiciones de error originadas desde el sistema operativo, E/S de flujos, std::future , u otras APIs de bajo nivel.

Definido en el encabezado <system_error>
clase base para categorías de error
(clase)
identifica la categoría de error genérica
(función)
identifica la categoría de error del sistema operativo
(función)
contiene un código de error portable
(clase)
(C++11)
la enumeración std::error_condition que lista todas las constantes macro estándar de <cerrno>
(clase)
(C++11)
contiene un código de error dependiente de la plataforma
(clase)
clase de excepción utilizada para reportar condiciones que tienen un error_code
(clase)

Aserciones

Las aserciones ayudan a implementar la verificación de precondiciones en programas.

Definido en el encabezado <cassert>
aborta el programa si la condición especificada por el usuario no es true . Puede deshabilitarse para builds de release.
(macro de función)

Stacktrace (desde C++23)

Definido en el encabezado <stacktrace>
representación de una evaluación en un stacktrace
(clase)
representación aproximada de una secuencia de invocación compuesta por entradas de stacktrace
(plantilla de clase)

Soporte de depuración (since C++26)

Definido en el encabezado <debugging>
(C++26)
pausa el programa en ejecución cuando se llama
(función)
llama a std::breakpoint si std::is_debugger_present retorna true
(función)
verifica si un programa se está ejecutando bajo el control de un depurador
(función)

Véase también

static_assert declaración (C++11) realiza verificación de aserciones en tiempo de compilación
Documentación C para Manejo de errores