Exception Hierarchy [WAS: Re: Top 5]

Sean Kelly sean at invisibleduck.org
Thu Oct 9 13:58:28 PDT 2008


Andrei Alexandrescu wrote:
> downs wrote:
> 
>> 3) the Exception/Error problem (they're different things, they
>> shouldn't inherit!)
> 
> I think Exception should inherit Error.

I personally dislike the use of "Error" to denote exceptions of any 
sort.  To me, errors are what /cause/ exceptions to be thrown.  For this 
reason, in Tango and druntime, "Exception" is defined as the top-level 
class from which all exceptions should derive (imagine that), making it 
equivalent to your "Error" object.

With this in mind, I'd like to solicit opinions about how exceptions 
should be categorized.  Should unrecoverable exceptions derive directly 
from "Exception" with a sibling named something like 
"RecoverableException" as the parent for recoverable exceptions?  Or 
would a bit more structure be better?  I don't think it should be the 
runtime's responsibility to define a complex exception hierarchy, but 
there is clearly a desire to at least retain some distinction between 
recoverable and unrecoverable errors and my naming-fu is not terribly 
strong.


Sean



More information about the Digitalmars-d mailing list