Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmExTh 357 of 420 menu
◀ ▶

Выбрасывание исключения в Java

Оператор throw создает исключение и немедленно прерывает текущий участок кода. Управление ищет подходящий catch выше по стеку вызовов. Если его нет, программа завершается с сообщением об ошибке:

throw new IllegalArgumentException("message");

В учебных задачах удобно выбрасывать готовые типы платформы. Исключение IllegalArgumentException подходит, когда параметр нарушает правило:

public class Main { static void requireEven(int n) { if (n % 2 != 0) { throw new IllegalArgumentException("even only"); } System.out.println(n); } public static void main(String[] args) { try { requireEven(3); } catch (IllegalArgumentException e) { System.out.println("rejected"); } } }

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

public class Main { static int safeDiv(int a, int b) { if (b == 0) { throw new ArithmeticException("zero divisor"); } return a / b; } public static void main(String[] args) { try { System.out.println(safeDiv(8, 0)); } catch (ArithmeticException e) { System.out.println("cannot divide"); } } }

Текст в конструкторе исключения доступен через e.getMessage() в блоке catch. Сообщения в коде пишите на английском, как и имена переменных.

Создайте метод printIfPositive с параметром n. Для n <= 0 выбросьте new IllegalArgumentException с сообщением "not positive". Иначе выведите n.

В main вызовите printIfPositive(-2) внутри try. В catch для IllegalArgumentException выведите e.getMessage().

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить