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

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

该检查不会报告任何命名为 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 最新变化