Espacios de nombres
Variantes
Acciones

std::future_error

De cppreference.com
< cpp‎ | thread
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
(C++11)
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
(C++11)
future_error
(C++11)
Recuperación segura
(C++26)
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
Definido en el archivo de encabezado <future>
class future_error;
(desde C++11)

La clase std::future_error define un objeto tipo excepción que se lanza en caso de falla por las funciones en la biblioteca de apoyo de hilos que se ocupan de la ejecución asincrónica y los estados compartidos (std::future, std::promise, etc.). Similar a std::system_error, esta excepción lleva un código de error compatible con std::error_code.

cpp/error/exceptioncpp/error/logic errorstd-future error-inheritance.svg
Acerca de esta imagen

Inheritance diagram

Contenido

[editar] Funciones miembro

Crea un objeto std::future_error.
(función miembro pública) [editar]
Reemplaza el objeto std::future_error.
(función miembro pública) [editar]
Devuelve el código de error.
(función miembro pública) [editar]
Devuelve la cadena aclaratoria específica al código de error.
(función miembro pública) [editar]

Heredado de std::logic_error

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]

[editar] Ejemplo

#include <future>
#include <iostream>
 
int main()
{
    std::future<int> empty;
    try {
        int n = empty.get(); // El comportamiento no está definido, pero
                             // algunas implementaciones lanzan std::future_error
    } catch (const std::future_error& e) {
        std::cout << "Se atrapó un future_error con código \"" << e.code()
                  << "\"\nMensaje: \"" << e.what() << "\"\n";
    }
}

Posible salida:

Se atrapó un future_error con código "future:3"
Mensaje: "No associated state"

[editar] Véase también

Identifica los códigos de error del futuro.
(enum) [editar]