◐ Shell
clean mode source ↗

std::future_error - cppreference.com

来自cppreference.com

(C++11 起)

std::future_error 定义异常对象,它由处理异步执行和共享状态(std::futurestd::promise 等)的线程库中的函数在失败时抛出。同 std::system_error,此异常携带与 std::error_code 兼容的错误码。

cpp/error/exceptioncpp/error/logic error

继承图

成员函数

继承自 std::logic_error

示例

#include <future>
#include <iostream>

int main()
{
    std::future<int> empty;
    try
    {
        int n = empty.get(); // 行为未定义,但一些实现抛出 std::future_error
    }
    catch (const std::future_error& e)
    {
        std::cout << "捕获了 future_error,其代码为 \"" << e.code()
                  << "\"\n消息: \"" << e.what() << "\"\n";
    }
}

可能的输出:

捕获了 future_error,其代码为 "future:3"
消息: "No associated state"

参阅