Yeah, this is one of the favorite combative topic. Battle lines more often are clearly drawn with staunch supporters for both checked and unchecked exceptions.
Although this TSS post avoided going into the controversial topic the discussion followed was not immune to that!
Found this page in the Sun’s tutorial handling the issue very well. Bottom line according to this one ..
“If a client can reasonably be expected to recover from an exception, make it a checked exception. If a client cannot do anything to recover from the exception, make it an unchecked exception.”
If that convinces you, here is the Bruce Eckel’s perspective. Towards the end of the page Bruce touches the aspect of exceptions in relation with the size of the projects (and I second that thought from my own experience) ..
“… checked exceptions seem to be helpful for small projects, which is generally the space where we argue the point. However, when projects get large (actually, I’ve noticed it when they are anything except small), checked exceptions get ungainly and seem to cause problems. I would therefore suggest that the reason checked exceptions seem so compellingly “right” at first is that they have been presented and argued in the realm of small examples.”
Follow on Twitter