Skip to main content

Java User-defined exception - Tự định nghĩa ngoại lệ trong Java

Lớp Exception thực thi giao diện Throwable và cung cấp các tính năng hữu dụng để phân phối các ngoại lệ. Ưu điểm của nó là tạo các lớp ngoại lệ được định nghĩa bởi người dùng. Để làm điều này, một lớp con của lớp Exception được tạo ra. Ưu điểm của lớp con là một kiểu ngoại lệ mới có thể bị bắt giữ độc lập từ các loại Throwable khác.

Nếu bạn tạo ngoại lệ riêng của mình được biết đến như ngoại lệ tùy chỉnh (exception tùy chỉnh) hoặc ngoại lệ do người dùng định nghĩa. Các ngoại lệ tùy chỉnh trong Java được sử dụng để tùy chỉnh ngoại lệ theo nhu cầu của người dùng.

Cú pháp:

class MyException extends Exception {
}

Ví dụ:

Chương trình sau minh họa ngoại lệ được định nghĩa bởi người dùng ArraySizeException

public class ThrowDemo {
    int size, array[];
    ThrowDemo(int s) {
        size = s;
        try {
            checkSize();
        } catch (ArraySizeException e) {
            System.out.println(e);
        }
    }
    void checkSize() throws ArraySizeException {
        if (size < 0)
            throw new ArraySizeException();
        else
            System.out.println("The array size is ok.");
        array = new int[3];
        for (int i = 0; i < 3; i++)
            array[i] = i + 1;
    }
    public static void main(String arg[]) {
        new ThrowDemo(-1);
    }
}
class ArraySizeException extends NegativeArraySizeException {
    ArraySizeException() // constructor
    {
        super("You have passed an  illegal array size");
    }
}

Kết quả:

$javac ThrowDemo.java
$java -Xmx128M -Xms16M ThrowDemo
ArraySizeException: You have passed an  illegal array size