6
如果我使用Boost期货,并且未来会报告has_exception(),是否有任何方法可以检索该异常?例如,下面是以下代码:如何获得报告boost :: future的异常?
int do_something() {
...
throw some_exception();
...
}
...
boost::packaged_task task(do_something);
boost::unique_future<int> fi=task.get_future();
boost::thread thread(boost::move(task));
fi.wait();
if (fi.has_exception()) {
boost::rethrow_exception(?????);
}
...
问题是,应该在什么地方放置“?????”?
文档说的'has_exception':'真,如果*这与异步结果相关联,这个结果是准备检索,结果是一个存储的异常'。但是,这一大堆的文档没有说明如何得到它...... – CharlesB
你试过简单的'fi.get()'? – Nim