[EMAIL PROTECTED] writes:

> I've recently been discussing the guideline recently added to the exceptions
> policy page with Dave Abrahams and he has asked me to post my views here.
>
> There is a seductive form of arguement that I've seen repeatedly lead
> projects into trouble which has made me very suspicious of the form:
> "provide X because someone might want to do Y".  One common example is
> "provide public access to member data because someone might need to do
> something with the members that isn't supported directly".  (I hope that
> this is a forum that would reject this argument.)  Another arguement I've
> encountered recently is that "all classes should have a virtual destructor
> because someone may want to specialise them".
>
> The arguement is especially seductive when the cost of "providing X" is
> either small or hidden.  But many a project has failed through creeping
> featuritis driven by such concerns.  The cost of virtual inheritance from
> std::exception may well appear small - indeed, most of it is the
> intellectual cost of understanding the intent.
>
> Arguments of this form need to be challenged on the basis of whether "to do
> Y" is a reasonable expectation.  If not, then the solution isn't "provide X"
> it is "discourage Y".
>
> Now, unlike the examples cited above, I've *never* encountered anyone
> arguing that exception hierarchies should be designed to support MI in a
> real design scenario.  Nor, when challenged on this point, has Dave.  The
> hypothetial example cited seems very implausible: when developing a
> subsystem to meet two interfaces I invariably develop a pair of adaption
> wrappers over the core functionality.  (And, in general, repackaging of
> exceptions is a very small part of that wrapper.)


Alan, did you read
http://aspn.activestate.com/ASPN/Mail/Message/boost/1781628
??

FWIW, the rest of the thread is

http://aspn.activestate.com/ASPN/Mail/Message/boost/1777712

> The obvious conclusion from the example cited is "don't multiply
> inherit from classes that are not designed to support it".
>
> I'm always willing to learn, but in the absence of a compelling
> example that MI is useful in exception heirarchies, I am unwilling
> to support the new guideline.

I'm feeling ambivalent about it now, but I do think Bjarne's example
is a pretty good one, and I wouldn't guess he'd claim it happens
"often" without some evidence.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to