Throwable, Exception, and Error

Christopher Wright dhasenan at gmail.com
Sun May 3 06:58:03 PDT 2009


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.



More information about the Digitalmars-d mailing list