Programmers often suppress checked exceptions by catching exceptions with an empty or trivial
catch block. Each
catch block must ensure that the program continues only with valid invariants. Consequently, the
catch block must either recover from the exceptional condition, rethrow the exception to allow the next nearest enclosing
catch clause of a
try statement to recover, or throw an exception that is appropriate to the context ...