Back to Intellij Community

InstanceofCatchParameter

java/java-impl/resources/inspectionDescriptions/InstanceofCatchParameter.html

2025.3-rc-2551 B
Original Source

Reports cases in which an instanceof expression is used for testing the type of a parameter in a catch block.

Testing the type of catch parameters is usually better done by having separate catch blocks instead of using instanceof.

Example:

void foo(Runnable runnable) {
    try {
        runnable.run();
    } catch (Throwable throwable) {
        if (throwable instanceof NoClassDefFoundError) { // warning: 'instanceof' on 'catch' parameter 'throwable'
            System.out.println("Class not found!");
        }
    }
  }