Java 言語仕様で許可されているにもかかわらず、実行されることがない catch セクションを報告します。

While unreachable catch sections are normally disallowed by Java compiler and reported as compilation errors, the analysis mandated by the Java language is not complete for some cases. このインスペクションは、強化された解析を提供し、コンパイラーによって報告されない一部の到達不能な catch セクションを報告します。 このようなセクションは冗長であるため、安全に除去できる可能性があります。

例:


  void method() {
    try { 
      throw new FileNotFoundException(); 
    }
    catch (FileNotFoundException e) { 
      
    }
    catch (IOException e) {
      // この catch は仕様では許可されていますが
      // 実行されることはありません
    }
  }

冗長な catch セクションを除去するクイックフィックスが提供されています。


  void method() {
    try { 
      throw new FileNotFoundException(); 
    }
    catch (FileNotFoundException e) { 
      
    }
  }

2025.1 の新機能です