Nội dung chính
Khối lệnh try trong java
Khối lệnh try trong java được sử dụng để chứa một đoạn code có thế xảy ra một ngoại lệ. Nó phải được khai báo trong phương thức.
Sau một khối lệnh try bạn phải khai báo khối lệnh catch hoặc finally hoặc cả hai.
Cú pháp của khối lệnh try-catch trong java
try { // code có thể ném ra ngoại lệ } catch(Exception_class_Name ref) { // code xử lý ngoại lệ }
Cú pháp của khối lệnh try-finally trong java
try { // code có thể ném ra ngoại lệ } finally { // code trong khối này luôn được thực thi }
Khối lệnh catch trong java
Khối catch trong java được sử dụng để xử lý các Exception. Nó phải được sử dụng sau khối try.
Bạn có thể sử dụng nhiều khối catch với một khối try duy nhất.
Vấn đề không có ngoại lệ xử lý
public class TestTryCatch1 { public static void main(String args[]) { int data = 50 / 0; // ném ra ngoại lê ở đây System.out.println("rest of the code..."); } }
Output:
Exception in thread "main" java.lang.ArithmeticException: / by zero at vn.tpv.exception1.TestTryCatch1.main(TestTryCatch1.java:5)
Trong ví dụ trên, phần còn lại của code không được thực thi (dòng chữ "rest of the code..." không được in ra màn hình). Tất cả các lệnh không được thực thi sau khi xảy ra ngoại lệ.
Giải quyết bằng xử lý ngoại lệ
public class TestTryCatch2 { public static void main(String args[]) { try { int data = 50 / 0; } catch (ArithmeticException e) { System.out.println(e); } System.out.println("rest of the code..."); } }
Output:
java.lang.ArithmeticException: / by zero rest of the code...
Trong ví dụ này, phần còn lại của code được thực thi nghĩa là dòng chữ "rest of the code..." được in ra màn hình.