Boost logo

Boost :

From: Josh Napoli (jnapoli_at_[hidden])
Date: 2007-11-07 09:33:10


> > Here is a generic exception_ptr implementation based on a registry
of
> > exception types. (http://joshuanapoli.com/exception/) The registry
is
>
> If boost::throw_exception is modified such that its postcondition is
> that the exception object it throws derives from boost::exception (I
> can't think of a reason not to), cloning can be implemented
> intrusively without a need for registration.

I would hope to save exceptions thrown from 3rd party libraries. An
intrusive approach wouldn't work.

> A run-time registry maintained by boost::throw_exception could cause
> problems in multi-threaded environments, as well as in the presence of
> DLLs (consider that if a DLL is unloaded, any std::type_info object
> obtained from it becomes invalid, so it can not be used safely as a
> key in the registry.)

DLL unload is an interesting problem.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk