9
我發現在幾個地方如何承諾應引用copy_exception
,但我無法在當前的FDIS中找到它。自從這些博客以後,如何使用set_exception()
還有其他方法嗎?如何獲取promise :: set_exception(x)的參數?
例如here
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()
here。
catch(...)
{
p.set_exception(std::current_exception());
}
所以我的問題:
- 我應該總是使用
current_exception()
,即使我不明白 「...
」? - 或者是否有新的不同名稱
copy_exception
?