Выброс исключений. Throw, throws

Выброс RuntimeException

Любое непроверяемое исключение легко может быть брошено:

throw new RuntimeException("Что-то пошло не так.");
throw new NullPointerException("Передан null, ожидался котик.");
throw new IllegalArgumentException("Передана свинья, ожидался котик.");
throw new UnsupportedOperationException("¯\\_(ツ)_/¯");

Строка, передаваемая исключению в конструктор, — это сообщение, поясняющее причину ошибки. Оно необязательно, но без него понять причину ошибки сложнее.

Выброс проверяемых исключений

Чтобы выбросить проверяемое исключение, нужно объявить о том, что метод в принципе способен бросать исключение такого типа:

    public static void canThrowCheckedException() 
            throws FileNotFoundException {
        throw new FileNotFoundException("какой файл?");
    }

Объявление throws обяжет клиента этого метода ловить исключение.

Даже если в методе нигде нет выброса проверяемого исключения, но есть throws, клиент обязан будет ловить исключения этого типа.

Комментарии к уроку

Сообщить об ошибке