Maison  >  Article  >  Java  >  En Java, une fois l'instruction return dans une méthode exécutée, le bloc final sera-t-il exécuté ?

En Java, une fois l'instruction return dans une méthode exécutée, le bloc final sera-t-il exécuté ?

PHPz
PHPzavant
2023-09-17 15:05:071005parcourir

En Java, une fois linstruction return dans une méthode exécutée, le bloc final sera-t-il exécuté ?

Oui, le bloc final sera exécuté même après l'instruction return dans la méthode.

En Java, le finally block sera exécuté qu'une exception se produise ou non. Si nous appelons explicitement la méthode System.exit() dans le bloc finally, alors seulement elle ne sera pas exécutée. Il existe de rares situations où finalement ne sera pas exécuté, telles que Crash JVM, panne de courant, Crash logiciel, etc. Sauf dans ces cas, le finally block sera toujours exécuté.

Exemple

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");
      }
   }
}

Sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer