Jonathan S. Shapiro wrote:
> The rule in Java is that exception declarations must be exhaustive, but only
> if they are present.

That's not correct. Exception declarations must always be exhaustive, except
that subclasses of Error and RuntimeException are implicitly throwable.

This doesn't really affect your conclusions, though.

> In Java, the workaround for all of this rests in the
> object hierarchy, and the common fix is to declare that a procedure throws
> the Exception superclass, which serves as a catch-all.
> 
> Note that the existence of a catch-all eliminates the possibility of more
> efficient compilation.

It's never feasible to compile under the assumption that exceptions are
not thrown, because many common primitive operations (e.g. array index,
referencing a field or method of a nullable variable, etc.) can implicitly
throw exceptions. Whether exceptions are declared has nothing to do with
this, AFAICS.

-- 
David-Sarah Hopwood
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to