Создание подклассов исключений
Для того чтобы создать класс собственного исключения, достаточно определить его как производный от класса Exception
.
В подклассах собственных исключений совсем не обязательно реализовать что-нибудь. В самом классе Exception
не определено никаких методов.
Зачастую указывать описание исключения непосредственно при его создании очень удобно, но иногда для этого лучше переопределить метод toString()
.
Рассмотрим пример создания собственного подкласса исключений:
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("Нормальное завершение.");
}
}
Please log in or register to have a possibility to add comment.