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) {
}
インスペクションの構成:
catch ブロックを無視するには、「'catch' ブロックにコメントがある場合は警告しない」オプションを使用します。
catch ブロックを無視するには、「'catch' ブロックが空でない場合は警告しない」オプションを使用します。
ignored という名前の変数が使用されている場合に無視するには、「'ignore(d)' という例外が実際に無視されていない場合に警告しない」オプションを使用します。
2018.1 の新機能です