
[Windows XP, VC++ 10, boost 1.46]
When interrupt a future, the future.get() throw boost::unknown_exception,
Not boost::thread_interrupted.
Class boost::thread_interrupted should have a base class for current_exception_impl() to catch it ? or use BOOST_THROW_EXCEPTION in interruptible_wait) ?
///////////////
namespace boost
{
class thread_interrupted
{};
}
exception_ptr current_exception_impl()
{
try
{
throw;
}
catch(
exception_detail::clone_base & e )
{
return exception_ptr(e.clone());
}
................
catch(
std::exception & e )
{
return exception_detail::current_exception_unknown_std_exception(e);
}
catch(
boost::exception & e )
{
return exception_detail::current_exception_unknown_boost_exception(e);
}
catch(
... )
{
return exception_detail::current_exception_unknown_exception();
}
// unknown_exception//////////////////
ERROR: Throw in function (unknown)
Dynamic exception type: class boost::exception_detail::clone_impl<class boost::unknown_exception>
std::exception::what: Unknown exception
//code /////////////////////
#include