Khối finally

Khi một ngoại lệ xuất hiện, phương thức đang được thực thi có thể bị dừng mà

không được hoàn thành. Nếu điều này xảy ra, thì các đoạn mã phía sau (ví dụ như đoạn mã có chức năng thu hồi tài nguyên, như các lệnh đóng tập viết ở cuối phương thức) sẽ không bao giờ được gọi. Java cung cấp khối finally để giải quyết việc này. Thông thường khối 'finally' chứa các câu lệnh mang tính chất dọn dẹp như: đóng kết nối CSDL, đóng tệp tin,…

try{
  //Các lệnh có khả năng ném ra ngoại lệ
} catch(Exception1 ex1){} catch(Exception2 ex2){} catch(Exceptionn exn){} finally{
//Mã lệnh dọn dẹp
}

Khối 'finally' là tuỳ chọn, không bắt buộc phải có. Khối này được đặt sau khối 'catch' cuối cùng. Chương trình sẽ thực thi câu lệnh đầu tiên của khối 'finally' ngay sau khi gặp câu lệnh 'return' hay lệnh 'break' trong khối 'try'.

Khối 'finally' bảo đảm lúc nào cũng được thực thi, bất chấp có ngoại lệ xảy ra hay không.

Hình minh họa sự thực hiện của các khối 'try', 'catch' và 'finally'

image

Avatar Administrator

Administrator

@thaycacac
Cuộc sống quan trọng nhất là sự lựa chọn.
Logo thể loại Java

Java

Chuyên mục học lập trình
Học Java từ cơ bản đến thông thạo cho mọi đối tượng
hello