Tôi tìm thấy ở một số địa điểm về cách lời hứa nên được sử dụng tham chiếu đến copy_exception
, nhưng tôi không thể tìm thấy nó trong FDIS hiện tại. Có cách nào khác về cách sử dụng set_exception()
vì các blog đó không?Làm thế nào để có được đối số cho lời hứa :: set_exception (x)?
Ví dụ 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
}
}
tôi thấy std::current_exception()
here.
catch(...)
{
p.set_exception(std::current_exception());
}
Vì vậy câu hỏi của tôi:
- Tôi có nên luôn luôn sử dụng
current_exception()
, ngay cả khi tôi không bắt "...
"? - Hoặc có tên khác mới cho
copy_exception
không?