
On 7/7/06, Dean Michael Berris <mikhailberis@gmail.com> wrote:
So when you always get a reference to an object of type exception_info
Yes, always getting references to exception_info would be great. If that's an issue you can just catch exception_info&, instead of some other exception. However, I think that it is the author's (Emil? I forget now.) intention that the exception library could be dropped into current code with no difference. Thus if you currently catch some_exception you could still catch it, and then test (via the dynamic_cast, which is now hidden behind get_exception_info) for whether exception_info has been added to it. It might count as too much voodoo to get something to return a
reference, but the benefits outweight the costs IMO. It just makes the interface less "fool proof" and makes it harder to "shoot yourself in the foot" when using a library of this utility.
I'm all for doing whatever possible to keep library users from inadvertantly doing stupid things, but I personally feel that in this case the benefits of using a pointer (being able to catch old exceptions and test for the optional exception_info) outweigh the dangers of users potentially doing something ridiculous with the exception_info pointer. Jeremy