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

到達不能な catch セクションは通常は Java コンパイラーによって許容されずにコンパイルエラーとして報告されますが、Java 言語によって要求される解析は場合によっては不完全です。 このインスペクションは、強化された解析を提供し、コンパイラーによって報告されない一部の到達不能な 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 の新機能です