An unreachable catch clause may indicate a logical mistake in the exception handling code or may simply be unnecessary.

Although certain unreachable catch clauses cause a compiler error, there are also unreachable catch clauses that do not cause a compiler error. A catch clause C is considered reachable by the compiler if both of the following conditions are true:

However, a catch clause that is considered reachable by the compiler can be unreachable if both of the following conditions are true:

Ensure that unreachable catch clauses are removed or that further corrections are made to make them reachable.

Note that if a try-catch statement contains multiple catch clauses, and an exception that is thrown in the try block matches more than one of the catch clauses, only the first matching clause is executed.

In the following example, the second catch clause is unreachable, and can be removed.

  • The Java Language Specification: Execution of try-catch, Unreachable Statements.
  • Help - Eclipse Platform: Java Compiler Errors/Warnings Preferences.