Checked exceptions generally corresond to problems that are not programmer errors.
A typical example is a program that prompts a user for an input file name. The programmer cannot prevent the user from typing an incorrect file name. FileNotFoundException, a checked exception, then results when an attempting to open the file.
A program should be prepared to catch a checked exception and possibly attempt some recovery or at the least to exit gracefully.
In the example, the program could report the invalid file name and prompt the user to try again.
Java language requires that a method that makes calls that can throw a checked exception must catch the exception or else declare that it will (indirectly) cause the checked exceptionto be thrown.
However, this deferral of catching exceptions should not include the main method of a finished application.