报告空的或可能忽略异常的 catch 块。

虽然偶尔是有意为之,但空的 catch 块可能导致调试复杂化。 此外,忽略 catch 参数可能是错误的。 最后,静态代码分析器会报告是否检测到 catch 块可能无提示地忽略重要的 VM 异常,如 NullPointerException。 忽略这样的异常(不记录或重新抛出)可能会隐藏错误。

该检查不报告任何命名为 ignoreignoredcatch 参数。 相反,它将对真正在使用的命名为 ignoreignoredcatch 参数发出警告。 此外,该检查不会报告命名为 expectedok 的测试源中的 catch 参数。

您可以使用快速修复将异常名称更改为 ignored。 对于空的 catch 块,建议使用其他的快速修复来生成 catch 区块体。 您可以在设置 | 编辑器 | 文件和代码模板中的“代码”选项卡上修改“catch 语句体”模板。

示例:


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

  }

在应用快速修复后:


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

  }

配置检查:

2018.1 的新功能