> I personally hate it when I don't know what needs catching (Hibernate...).
Runtime versus checked exceptions is very subjective. Most programming languages
don't have checked exceptions at all (for example, C# and Scala don't have
them). For me, checked exceptions are more a nuisance than a help, specially if
each and every method in an API can throw an exception, or even worse, multiple
exceptions. As a user of the API, I have to catch or re-throw the exception,
even thought I can't possibly do much about it. As an example,
Session.getRootNode() can throw a RepositoryException. Most likely this is my
mistake because I closed the repository already. This situation is somewhat
similar to NullPointerException (which is unchecked). Another possible reason
is: the connection to the repository or backend store is lost, which is not
really preventable or recoverable. See also
> lookups throwing exception instead of returning null
Yes, this would sound like a problem.