finally ブロック内で使用されている returnthrowbreakcontinueyield ステートメントを報告します。 このようなステートメントがある場合、finally ブロックは正常に完了しますが、突然完了します。 同じ try-catch ステートメントの try および catch ブロックからスローされる例外はすべて抑止されます。

例:


  void x() {
    try {
      throw new RuntimeException();
    } finally {
      // bar() が true を返す場合、RuntimeException は抑止されます
      if (bar()) return;
    }
  }