Collateral Exceptions, Throwable vs Exception

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Aug 19 13:32:58 PDT 2010


On 08/19/2010 03:00 PM, Sean Kelly wrote:
> Andrej Mitrovic Wrote:
>
>> TDPL code that should work:
> ...
>> Errors out:
>> (49): Error: cannot implicitly convert expression (e.next) of type object.Throwable to object.Exception
>>
>> Why would the return type of e.next be Throwable if e is an Exception type?
>
> Because e.next is a Throwable reference inherited from Throwable:
>
> class Throwable {
>      Throwable next;
> }
>
> class Error : Throwable {}
> class Exception : Throwable {}
>
> Because collateral exceptions could be both Errors and Exceptions, I don't think the sample code can work exactly as written.

Sean's right. And thanks Sean and Walter for implementing the exceptions 
spec properly, I believe it's very important to the success of D.

Andrej... sounds like another errata entry, please :o).


Andrei


More information about the Digitalmars-d mailing list