VietTuts

Học java cơ bản đến nâng cao

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • Java WS
  • MyBatis
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • PHP
    • CSS
    • HTML
  • SQL
    • MySQL
    • SQL Server
    • PostgreSQL
    • SQLite
  • Misc
    • Phần mềm tiện ích
    • Selenium Test
    • Lập trình C
    • Lập trình C++
Java Cơ Bản Các Khái Niệm Java OOPs Java String

Xử lý Ngoại Lệ

Exception là gì? Khối lệnh try-catch Đa khối lệnh catch Khối lệnh try lồng nhau Khối lệnh finally Từ khóa throw Từ khóa throws Throw với Throws Final vs Finally vs Finalize Exception Handling với Overriding phương thức Tùy chỉnh Exception Truyền Exception cho caller
Java AWT Java Swing Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Câu Hỏi Phỏng Vấn Java

Khối lệnh finally trong java


Khối lệnh try lồng nhau trong java
Từ khóa throw trong java  

Khối lệnh finally trong java được sử dụng để thực thi các lệnh quan trọng như đóng kết nối, đóng cá stream,…

Khối lệnh finally trong java luôn được thực thi cho dù có ngoại lệ xảy ra hay không hoặc gặp lệnh return trong khối try.

Khối lệnh finally trong java được khai báo sau khối lệnh try hoặc sau khối lệnh catch.

flow của khối lệnh finally trong java
Note: Nếu bạn không xử lý ngoại lệ, trước khi kết thúc chương trình, JVM thực thi khối finally (nếu có).

Tại sao phải sử dụng khối finally

Khối finally có thể được sử dụng để chèn lệnh “cleanup” vào chương trình như việc đóng file, đóng các kết nối,…


Cách sử dụng khối finally trong java

Dưới đây là các trường hợp khác nhau về việc sử dụng khối finally trong java.

TH1

sử dụng khối lệnh finally nơi ngoại lệ không xảy ra.

public class TestFinallyBlock {
    public static void main(String args[]) {
        try {
            int data = 25 / 5;
            System.out.println(data);
        } catch (NullPointerException e) {
            System.out.println(e);
        } finally {
            System.out.println("finally block is always executed");
        }
        System.out.println("rest of the code...");
    }
}

Output:

5
finally block is always executed
rest of the code...

TH2

sử dụng khối lệnh finally nơi ngoại lệ xảy ra nhưng không xử lý.

public class TestFinallyBlock1 {
    public static void main(String args[]) {
        try {
            int data = 25 / 0;
            System.out.println(data);
        } catch (NullPointerException e) {
            System.out.println(e);
        } finally {
            System.out.println("finally block is always executed");
        }
        System.out.println("rest of the code...");
    }
}

Output:

finally block is always executed
Exception in thread "main" java.lang.ArithmeticException: / by zero

TH3

sử dụng khối lệnh finally nơi ngoại lệ xảy ra và được xử lý.

public class TestFinallyBlock2 {
    public static void main(String args[]) {
        try {
            int data = 25 / 0;
            System.out.println(data);
        } catch (ArithmeticException e) {
            System.out.println(e);
        } finally {
            System.out.println("finally block is always executed");
        }
        System.out.println("rest of the code...");
    }
}

Output:

java.lang.ArithmeticException: / by zero
finally block is always executed
rest of the code...

TH4

Sử dụng khối lệnh finally trong trường hợp trong khối try có lệnh return.

public class TestFinallyBlock3 {
    public static void main(String args[]) {
        try {
            int data = 25;
            if (data % 2 != 0) {
            	System.out.println(data + " is odd number");
            	return;
            }
        } catch (ArithmeticException e) {
            System.out.println(e);
        } finally {
            System.out.println("finally block is always executed");
        }
        System.out.println("rest of the code...");
    }
}

Output:

25 is odd number
finally block is always executed
Quy tắc: Đối với mỗi khối try, có thể có không hoặc nhiều khối catch, nhưng chỉ có một khối finally.
Note: Khối finally sẽ không được thực thi nếu chương trình bị thoát (bằng cách gọi System.exit() hoặc xảy ra một lỗi không thể tránh khiến chương trình bị chết).

Khối lệnh try lồng nhau trong java
Từ khóa throw trong java


Recent Updates

Tạo bảng trong MySQLKiểu dữ liệu trong MySQLChọn Database trong MySQLTạo ứng dụng JSP trên EclipseCú pháp trong JSPVòng đời của JSPKiến trúc JSPJSP là gì? - học JSP cần chuẩn bị những gì?Ví dụ về RESTful Web Service trong JavaKiến trúc hướng dịch vụ (SOA)So sánh SOAP và REST web serviceWeb Service là gì?

VietTuts on facebook

Học Java Cơ Bản Đến Nâng Cao - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Struts2
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en ...

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư