IBM Developer works has an article discussing the pros and cons for checked and unchecked or runtime exceptions.
Checked exceptions require you to catch the exceptions, while
RuntimeExceptions do not. Basic
rule is that if the user of the API can do something reasonable about the exception then make it checked.