ホームページ  >  記事  >  Java  >  Java では、メソッド内の return ステートメントが実行された後、finally ブロックが実行されますか?

Java では、メソッド内の return ステートメントが実行された後、finally ブロックが実行されますか?

PHPz
PHPz転載
2023-09-17 15:05:071061ブラウズ

Java では、メソッド内の return ステートメントが実行された後、finally ブロックが実行されますか?

はい、メソッド内の return ステートメントの後でも、finally ブロックは実行されます。

Java では、例外が発生したかどうかに関係なく、finally ブロック が実行されます。 finally ブロック System.exit() メソッドを明示的に呼び出した場合、それは実行されないだけです。 JVM クラッシュ 電源障害 ソフトウェア クラッシュ など、finally が実行されない状況がまれにあります。これらの場合を除き、finally ブロックは常に実行されます。

public class FinallyBlockAfterReturnTest {
   public static void main(String[] args) {
      System.out.println(<strong>count()</strong>);
   }
   public static int count() {
      try {
<strong>         return 1;
</strong>      } catch(Exception e) {
<strong>         return 2;
</strong>      } finally {
         System.out.println("Finally block will execute even after a return statement in a method");
      }
   }
}

出力

Finally block will always excute even after a return statement in a method
1

以上がJava では、メソッド内の return ステートメントが実行された後、finally ブロックが実行されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。