Общие исключения переполнения и переполнения

13
задан Benjamin 3 August 2014 в 19:29
поделиться

2 ответа

Хорошо, ОП говорил о желании узнать об обоих переполнении стека, так и переполнения арифметики, а также их соответствующим подведем. Вот идет ....

  1. Арифметический переполнение происходит, когда число становится слишком большим, чтобы соответствовать его типу значения. Например, int содержит значения между -2 31 и 2 31 -1, включительно. Если ваш номер пройдет через эти ограничения, возникает переполнение, а число «Обертывает». Это не вызывает генерировать исключение в Java.
  2. Арифметический поток происходит, когда число плавающего точка становится слишком маленьким, чтобы очень хорошо отличить от нуля (точность числа усечена). В Java это также не вызывает исключения.
  3. Переполнение стека происходит при вызове функции, которая вызывает другую функцию, то тогда вызовет другое, то другое ... и стек вызова функции становится слишком глубоким. Вы получаете StackoverFerroor , когда это произойдет.
  4. Подолевание стека не происходит в Java. Предполагается, что его система выполнения предотвращает происходящее.

Чтобы ответить на другой вопрос ОП (см. Комментарии), когда вы расхождете границы массива, выдается IndexOutoFBoundSexception .

26
ответ дан 1 December 2019 в 20:00
поделиться

в арифметике Java, переполнение или нижний предел никогда бросает исключение. Вместо этого для арифметики с плавающей точкой значение устанавливается как , а не число , «бесконечно» или ноль.

Чтобы проверить их, вы можете использовать статические методы: ISNAN или isinfinite с использованием соответствующих классов обертки. Вы можете справиться с этим по мере необходимости. Пример:

double d1 = 100 / 0.;
if (Double.isNaN(d1)) {
    throw new RuntimeException("d1 is not a number");
}
if (Double.isInfinite(d1)) {
    throw new RuntimeException("d1 is infinite");
}

Для определенных операций вы можете получить ARITHMETECEXCECTION , например, когда делится на ноль в целочисленной математике.

Я только что спросил , связанный с ними о полном способе стиля проекта, чтобы обработать это.

6
ответ дан 1 December 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: