----- Original Message ----- From: "David Abrahams" <[EMAIL PROTECTED]> To: "Boost mailing list" <[EMAIL PROTECTED]> Sent: Wednesday, November 20, 2002 6:40 PM Subject: Re: [boost] Do we need a boost_exception class or idiom?
> "Fernando Cacciola" <[EMAIL PROTECTED]> writes: > > > I'm not sure if a boost exception class is *needed*, but I see no problem in > > having one. > > Anyway, IIF such an exception class is defined, I *strongly* encourage (as I > > did in the past) that it provides: > > > > virtual void raise() const > > { > > #ifndef BOOST_NO_EXCEPTIONS > > throw *this ; > > #endif > > } > > > > and that boost libraries throw such exceptions *only* by calling .raise(): > > i.e. never with a throw expression directly in the user code. > > 1. Why should this be a virtual function? The dynamic type of an > exception object is never used in a throw expression. > Just to avoid visivility issues with redefinitions in derived types (to avoid the compiler telling that 'raise' hides definition on the base class) > 2. Why are we reinventing the wheel? What's wrong with > boost::throw_exception() from boost/throw_exception.hpp? > Nothing :-) I like this approach... and I had forgot about it. Anyway, I was just pointing out that IIF a boost exception class was defined it should throw itself. Fernando Cacciola _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost