Exception Hierarchy [WAS: Re: Top 5]

Jason House jason.james.house at gmail.com
Thu Oct 9 14:21:12 PDT 2008


Sean Kelly Wrote:

> 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

I think the common user case has to be catch (Exception)...
That implies to me that Exception must extend something. My vote would be an interface with an ugly name. Then non-recoverable errors can extend that interface.  



More information about the Digitalmars-d mailing list