Throwable, Exception, and Error

Steve Teale steve.teale at britseyeview.com
Sun May 3 11:12:00 PDT 2009


Christopher Wright Wrote:

> Steve Teale wrote:
> > Christopher Wright Wrote:
> > 
> >> Frank Benoit wrote:
> >>> Walter Bright schrieb:
> >>>> Steve Teale wrote:
> >>>>> If I want a catch-all catch, which should I be using.
> >>>>>
> >>>>> Out of habit I use Exception, but if I do that then I will miss some
> >>>>> things thrown from Phobos.
> >>>>>
> >>>>> Is it the intention that Throwable be used for this purpose?
> >>>>>
> >>>> Yes.
> >>> Why is it possible to throw an Object?
> >>> I think "throw" and "catch" should be restricted to Throwable and
> >>> derived types.
> >> Because Phobos did not contain Throwable until the advent of druntime. 
> >> This was sufficiently recent that Walter has not yet modified the 
> >> compiler accordingly, or, most likely, noticed or decided to do so.
> > 
> > When that is done, and the object being thrown has been checked out, would it be a good idea for the compiler to automatically populate the file and line members of the Throwable?
> 
> Hrm. You want to assign the file and line numbers where the exception is 
> thrown, but not if you are rethrowing the exception.
> 
> The runtime has something like _d_throw; if the signature included 
> __FILE__ and __LINE__ for the throw expression, that should work.

OK, I did not think it through, but it would save a lot of typing grief;

 ... , __FILE__, __LINE__);

every time you wanted to be careful.




More information about the Digitalmars-d mailing list