On Tue, 24 Nov 2009 16:20:14 -0500, Brad Roberts
<[email protected]> wrote:
On Mon, 23 Nov 2009, Andrei Alexandrescu wrote:
Consider:
try {
...
} catch (Exception) {
...
} catch (StdioException) {
...
}
The second handler never matches because StdioException is a subclass of
Exception, so the first handler will always match whatever the second
matches.
Should that be a compile-time error? I think so.
Andrei
Alternate thought.. should order matter or should it automatically sort
such that most specific catch is preferred. Sort of matches the
declaration order doesn't (ok, shouldn't) matter philosophy.
If this is possible, it makes the most sense to me. I don't see how it's
not possible, since inheritance trees cannot have cycles, and therefore
should always be sortable.
-Steve