Computer >> Máy Tính >  >> Lập trình >> Java

Một khối cuối cùng có thực thi sau một câu lệnh trả về trong một phương thức trong Java không?

Có, khối cuối cùng sẽ được thực thi ngay cả sau một câu lệnh trả về trong một phương thức.

Khối cuối cùng sẽ luôn thực thi ngay cả khi một ngoại lệ xảy ra hoặc không xảy ra trong Java. Nếu chúng tôi gọi System.exit () phương thức rõ ràng trong khối cuối cùng thì chỉ nó sẽ không được thực thi. Có một số tình huống mà cuối cùng sẽ không được thực thi như JVM crash , mất điện , sự cố phần mềm và v.v. Ngoài các điều kiện này, khối cuối cùng sẽ luôn được thực thi.

Ví dụ

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

Đầu ra

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