That goes against the statement in TDPL that user code should never catch Throwable's, unless absolutely necessary. So in case of collateral exceptions, we are forced to catch Throwable anyway?
On Thu, Aug 19, 2010 at 10:00 PM, Sean Kelly <[email protected]> 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. >
