Thank you, Emil.   That works.

On Thu, Aug 19, 2010 at 2:25 PM, Emil Dotchevski <emil@revergestudios.com> wrote:
On Thu, Aug 19, 2010 at 8:54 AM, Mark Wilson <mwil@lle.rochester.edu> 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
<boost/throw_exception.hpp>.

The page at http://beta.boost.org/doc/libs/release/libs/exception/doc/current_exception.html
explains why you get a boost::unknown_exception.

HTH,
Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode
_______________________________________________
Boost-users mailing list