我在几个地方找到了关于如何使用promise的引用copy_exception
,但我在当前的 FDIS 中找不到它。set_exception()
自那些博客以来,是否有其他使用方法?
例如这里
void asyncFun(promise<int> intPromise)
{
int result;
try {
// calculate the result
intPromise.set_value(result);
} catch (MyException e) {
intPromise.set_exception(std::copy_exception(e)); // <- copy
}
}
我在std::current_exception()
这里找到。
catch(...)
{
p.set_exception(std::current_exception());
}
因此我的问题:
- 我是否应该一直使用
current_exception()
,即使我没有捕捉到“...
”? - 还是有新的不同名称
copy_exception
?