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

Chúng ta có thể có khối try mà không có khối catch trong Java không?


Có, Có thể có khối thử mà không có khối bắt bằng cách sử dụng khối cuối cùng.

Như chúng ta đã biết, khối cuối cùng sẽ luôn thực thi ngay cả khi có một ngoại lệ xảy ra trong khối thử, ngoại trừ System.exit (), khối này sẽ luôn thực thi.

Ví dụ 1

public class TryBlockWithoutCatch {
   public static void main(String[] args) {
      try {
         System.out.println("Try Block");
      } finally {
         System.out.println("Finally Block");
      }
   }
}

Đầu ra

Try Block
Finally Block

Một khối cuối cùng sẽ luôn thực thi ngay cả khi phương thức có kiểu trả về và khối try trả về một số giá trị.

Ví dụ 2

public class TryWithFinally {
   public static int method() {
      try {
         System.out.println("Try Block with return type");
         return 10;
      } finally {
         System.out.println("Finally Block always execute");
      }
   }
   public static void main(String[] args) {
      System.out.println(method());
   }
}

Đầu ra

Try Block with return type
Finally Block always execute
10