Как получить сообщение об исключении в boost :: future?

Если я использую Boost Futures, и future возвращает true в has_exception (), есть ли способ получить это исключение? Например, вот следующий код:

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(?????);
}
...

Вопрос в том, что следует поставить вместо «?????»?

7
задан CharlesB 18 July 2011 в 09:09
поделиться