finally ブロック内の throw ステートメントを報告します。 このような throw ステートメントは意図的な場合もありますが、try-catch ブロックからスローされる例外を隠すため、デバッグ手順が複雑になる可能性があります。

例:


  class Fascinating {
    void doTask(Task t) {
      try {
        t.activity();
      } finally {
        if (!t.finish()) {
          throw new IllegalStateException();
        }
      }
    }
  }

例外を宣言するメソッドへのメソッド呼び出しに対しても警告するには、「宣言された例外がスローされる可能性があるすべての場所を警告する」オプションを使用します。