61.Custom Exception trong lập trình java

Trong lập trình Java, bạn có thể tạo ra các ngoại lệ tùy chỉnh (custom exception) để đại diện cho các trường hợp đặc biệt hoặc tình huống cụ thể trong ứng dụng của mình. Các ngoại lệ tùy chỉnh cho phép bạn tạo các lớp ngoại lệ riêng biệt, được mở rộng từ các lớp ngoại lệ có sẵn (ví dụ: Exception hoặc RuntimeException) để đáp ứng nhu cầu cụ thể của chương trình.

Để tạo một custom exception, bạn cần tạo một lớp mới mở rộng từ một lớp ngoại lệ có sẵn (thường là Exception hoặc một lớp con của Exception). Trong lớp mới này, bạn có thể định nghĩa các thông tin và phương thức mà bạn muốn để xử lý các trường hợp đặc biệt. Thông thường, bạn cần triển khai ít nhất một constructor để thiết lập thông báo hoặc thông tin chi tiết về ngoại lệ.

Dưới đây là một ví dụ về custom exception trong Java:

java
// Custom exception class
class MyCustomException extends Exception {
    public MyCustomException(String message) {
        super(message);
    }
}

// Example of using the custom exception
public class CustomExceptionExample {
    public static void main(String[] args) {
        try {
            int age = -5;
            if (age < 0) {
                throw new MyCustomException("Age cannot be negative");
            }
            System.out.println("Age: " + age);
        } catch (MyCustomException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}

Trong ví dụ này, chúng ta tạo một custom exception MyCustomException kế thừa từ Exception. Sau đó, chúng ta sử dụng nó trong khối “try” để kiểm tra tuổi có âm không. Nếu tuổi là số âm, chúng ta ném một MyCustomException với thông báo “Age cannot be negative”. Trong khối “catch”, chúng ta bắt và in ra thông báo lỗi nếu có ngoại lệ xảy ra.

Custom exception cho phép bạn quản lý và xử lý các tình huống đặc biệt một cách linh hoạt và dễ đọc hơn trong chương trình của bạn. Bạn có thể tạo bao nhiêu custom exception tùy ý, phụ thuộc vào yêu cầu cụ thể của ứng dụng.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top