Boost logo

Boost Users :

Subject: Re: [Boost-users] Throwing an exception in a packaged_task: is there a clear example?
From: Emil Dotchevski (emil_at_[hidden])
Date: 2010-08-19 14:25:32

On Thu, Aug 19, 2010 at 8:54 AM, Mark Wilson <mwil_at_[hidden]> wrote:
> Hello,
> I am throwing an exception from a packaged_task, and then trying to catch it
> with f.get() (where f is a unique_future); it doesn't work, the program just
> terminates with:
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl<boost::unknown_exception>'
>   what():  std::exception
> Is there a simple example somewhere, or could someone provide one, that
> makes clear how this mechanism is supposed to work?  The Threads
> documentation does not show how to do this...

Try replacing throw MyException with
BOOST_THROW_EXCEPTION(MyException()). You'll need to #include

The page at
explains why you get a boost::unknown_exception.

Emil Dotchevski
Reverge Studios, Inc.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at