Tự định nghĩa một exception trong java

Chúng ta có thể tạo một exception mới để phục vụ cho các yêu cầu riêng của dự án bằng cách kế thừa từ Exception class. 

class MyException extends Exception {
    public MyException(String s) {
        // Call constructor of parent Exception 
        super(s);
    }
}

// A Class that uses above MyException 
public class Main {
    // Driver Program 
    public static void main(String args[]) {
        try {
            // Throw an object of user defined exception 
            throw new MyException("Shareprogramming");
        } catch (MyException ex) {
            System.out.println("Caught");

            // Print the message from MyException object 
            System.out.println(ex.getMessage());
        }
    }
}

Output:

Caught
Shareprogramming

Khởi tạo MyException với chuỗi message thông báo khi MyException được ném. Chúng ta có thể lấy chuỗi message thông qua getMessage().

Chúng ta cũng có thể tạo một exception mà không thèm theo message.

class MyException extends Exception {
}

// A Class that uses above MyException
public class Main {
    // Driver Program
    public static void main(String args[]) {
        try {
            // Throw an object of user defined exception
            throw new MyException();
        } catch (MyException ex) {
            System.out.println("Caught");

            // Print the message from MyException object 
            System.out.println(ex.getMessage());
        }
    }
}

Output:

Caught
null

Lời kết

Về căn bản thì các Exception chỉ có ý nghĩa về mặc ngữ nghĩa chứ bên dưới các exception đều có cơ chế xử lý như nhau. Các exception giúp chúng ta khoanh vùng lỗi nhanh chóng để có các biện pháp sữa lỗi tương ứng. Ví dụ NullPointerException thì nghĩa là chúng ta truy xuất giá trị từ object có giá trị null, ArithmeticException nghĩa là dữ liệu thực hiện phép tính có vấn đề như 10/0 chẳng hạn etc.

Nguồn tham khảo

https://www.geeksforgeeks.org/g-fact-32-user-defined-custom-exception-in-java/

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x