Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

ArithmeticException

Возникает при недопустимой арифметической операции, например целочисленном делении на ноль.

Доступно с: Java 1.0

Синтаксис

public class ArithmeticException extends RuntimeException

Примеры

Деление на ноль: целые и дробные числа:

void main() {
    try {
        int result = 10 / 0;
    } catch (ArithmeticException e) {
        IO.println(e.getMessage());
    }
    IO.println(10.0 / 0);
}

Результат:

/ by zero
Infinity

Переполнение с Math.addExact():

void main() {
    try {
        Math.addExact(Integer.MAX_VALUE, 1);
    } catch (ArithmeticException e) {
        IO.println(e.getMessage());
    }
}

Результат:

integer overflow

Примечания

Деление double на ноль не бросает исключение, а даёт Infinity или NaN. Обычное переполнение int тоже проходит молча; чтобы получить исключение, используйте Math.addExact(), Math.multiplyExact(). Лучше проверить делитель заранее, чем ловить это исключение.

См. также

  • RuntimeException — Базовый класс непроверяемых исключений — ошибок в логике программы.
  • NumberFormatException — Возникает, когда строку нельзя превратить в число.

Вопросы и ответы по теме

В учебнике

  • Что такое исключения — Исключения в Java — как программа сообщает об ошибке, как читать трассировку стека, частые исключения и иерархия Throwable.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.