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!");
        }
    }
  }