Урок 17

Создание подклассов исключений


Для того чтобы создать класс собственного исключения, достаточно определить его как производный от класса Exception.

В подклассах собственных исключений совсем не обязательно реализовать что-нибудь. В самом классе Exception не определено никаких методов.

Зачастую указывать описание исключения непосредственно при его создании очень удобно, но иногда для этого лучше переопределить метод toString().

Пример 1. Создание собственного подкласса исключений

public class MyException extends Exception {
    private int detail;

    public MyException(int detail, String message) {
        super(message);
        this.detail = detail;
    }

    @Override
    public String toString() {
        return "MyException{"
                + "detail=" + detail
                + ", message=" + getMessage()
                + "} ";
    }
}
public class MyExceptionDemo {
    public static void main(String[] args) {
        try {
            compute(1);
            compute(20);
        } catch (MyException e) {
            System.out.println("Перехваченное исключение." + e);
        }
    }

    public static void compute(int a) throws MyException {
        System.out.println("Вызван метод compute(" + a + ")");
        if (a > 10) {
            throw new MyException(a, "Some message");
        }
        System.out.println("Нормальное завершение.");
    }
}


0 comments
Leave your comment: