One fault with checked exceptions is how inheritence was used to group what
is checked and what is unchecked. Unfortunately an analysis of the JDK etc
seems to show that exceptions use inheritence as a grouping mechanism. The
JDK often establishes a base exception for a sub system and has all related
exceptions extend that.
2 Examples:
java.io.*
IOException // generally not recoverable probably should be unchecked
FileNotFound // probably makes sense to be checked, so programs are
forced to handle and maybe ask user again.
RemoteException // probably the most famous this should be unchecked
exception
EOFException // checkness should be the same as IOException.
Perhaps just perhaps the problem is that heirarchy is both a grouping
mechanism and a way to define checkness. Maybe keyword might have helped.
--
You received this message because you are subscribed to the Google Groups "The
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/javaposse?hl=en.