Оператор throws

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

С этой целью в объявление метода вводится оператор throws, где перечисляются типы исключений, которые метод может генерировать. Это обязательно для всех исключений, кроме тех, которые относятся к классам Error и RuntimeException или любым их подклассам. Все остальные исключения, которые может сгенерировать метод, должны быть объявлены в операторе throws. Если этого не сделать, то во время компиляции возникнет ошибка.

Рассмотрим пример использования оператора throws:

public class ThrowsGenerate {
    public static void throwOne() throws IllegalAccessException {
        System.out.println("Внутри throwOne.");
        throw new IllegalAccessException("demo");
    }

    public static void main(String[] args) {
        try {
            throwOne();
        } catch (IllegalAccessException e) {
            System.out.println("Выброс " + e);
        }
    }
}
Read also:
Comments