空であるか、例外を無視する可能性がある catch ブロックを報告します。

このような空の catch ブロックは意図的な場合もありますが、デバッグを困難にする可能性があります。 また、catch パラメーターを無視するのは不適切である可能性があります。 さらに、静的コード解析ツールは、catch ブロックが NullPointerException などの重要な VM 例外を通知なしで無視する可能性があることを検出した場合に報告します。 このような例外を (ログに記録したり再スローしたりせずに) 無視すると、バグに気付かなくなる可能性があります。

このインスペクションは、ignore または ignored という名前の catch パラメーターを報告しません。 その逆に、このインスペクションは ignore または ignored という名前の catch パラメーターで、実際に使用されているものについて警告します。 さらに、このインスペクションは expected または ok という名前のテストソースにある catch パラメーターを報告しません。

例外の名前を ignored に変更するクイックフィックスを使用できます。 空の catch ブロックの場合、catch の本体を生成する追加のクイックフィックスが提案されます。 「設定 | エディター | ファイルおよびコードテンプレート」のコードタブで、"Catch Statement Body" テンプレートを変更できます。

例:


  try {
    throwingMethod();
  } catch (IOException ex) {

  }

クイックフィックス適用後:


  try {
    System.out.println(System.in.read());
  } catch (IOException ignored) {

  }

インスペクションの構成:

2018.1 の新機能です