Skip to content

ArithmeticException Пример 2: проверка вычитания

Anna edited this page Jun 24, 2026 · 1 revision

Пример 2: проверка вычитания

В этом примере метод subtract() проверяет, что результат не отрицательный, и выбрасывает ArithmeticException, если a < b.

Код

public class CustomExceptionThrowWithMessage {
    public static void main(String[] args) {
        try {
            System.out.println(subtract(2, 3));
        } catch (ArithmeticException e) {
            System.out.println("Результат не может быть отрицательным");
        }
    }

    public static int subtract(int a, int b) {
        if (a < b) {
            throw new ArithmeticException();
        }
        return a - b;
    }
}

Вывод в консоли

Результат не может быть отрицательным

Как это работает

  1. В методе main вызывается subtract(2, 3)
  2. a < b → 2 < 3 → условие истинно
  3. throw new ArithmeticException() — создаётся исключение
  4. catch (ArithmeticException e) — исключение перехватывается
  5. Вывод: Результат не может быть отрицательным

Сравнение с div()

Метод Проверка Исключение
div(int num) num == 0 ArithmeticException
subtract(int a, int b) a < b ArithmeticException

Как добавить сообщение

throw new ArithmeticException("a < b");
Что было Что стало
throw new ArithmeticException() throw new ArithmeticException("сообщение")
Нет пояснения Есть текст ошибки
e.getMessage()null e.getMessage()"a < b"

Мои заметки

  • throw — создаёт исключение вручную
  • Аргумент в throw new ArithmeticException() — это сообщение
  • ArithmeticException подходит для проверки чисел и математических операций