报告异常始终可以通过包含 try 语句捕获的 throw 语句。

使用 throw 语句作为 "goto" 来更改局部控制流会令人困惑并导致性能不佳。

示例:


  try {
    if (!Files.isDirectory(PROJECTS)) {
        throw new IllegalStateException("Directory not found."); // 警告:'throw' 被所包含的 'try' 语句捕获
    }
    ...
  } catch (Exception e) {
      LOG.error("run failed");
  }

使用忽略重新抛出的异常选项可忽略重新抛出的异常。