|
Boost : |
From: Jeff Garland (jeff_at_[hidden])
Date: 2004-02-08 17:08:17
On Sun, 08 Feb 2004 15:28:08 -0500, David Abrahams wrote
> Because we don't have the luxury of an extra compilation stage like
> Corba does. There's no way to stop unwinding with catch(...), store
> whatever arbitrary exception object was thrown, and then rethrow it later.
Corba doesn't really solve the problem with compilation, it just makes it
easier for the user by generating binding code. The user has to derive from
Corba::UserException to make it work. So, I wasn't suggesting that this would
work with catch(...). Rather there would be a rethrowable_exception class
that users would derive from to obtain this behavior. Which is like the Rogue
Wave solution I pointed to...
> No, I mean without additional compilation resources not built into
> C++, or user registration of all possible exception types that can
> emanate from a thread.
Yes, registration would be required by a factory object to unserialize the
exception, construct, and rethrow on the other side of the thread boundary.
Anyway, I believe all of this can be done (and has already) without changes to
the langauge and would be portable.
Jeff
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk