Поделиться через


Разрешение вопросов, связанных с исключениями: System.OverflowException

Обновлен: Ноябрь 2007

Исключение OverflowException возникает, когда выполнение арифметической операции, операции приведения к типу или преобразования в проверяемом контексте приводит к переполнению. Переполнение возникает, если значение, полученное в результате выполнения операции, слишком велико для указанного типа, бесконечно, либо является нечисловым значением (NaN).

Полезные советы

  • При приведении числа его значение должно быть допустимым и конечным.
    Исходное значение не может быть бесконечным или нечисловым значением.

  • Убедитесь в отсутствии деления на ноль.
    Обычно это исключение возникает при делении на ноль.

Замечания

Исключение OverflowException генерируется при переполнении в языках программирования, поддерживающих обнаружение переполнения. Например, в C# для обнаружения условий переполнения используется ключевое слово checked. Исключение OverflowException возникает только в проверяемом контексте.

Если результат арифметической операции с данными целочисленного или десятичного типа выходит за пределы диапазона целевого типа данных:

  • Если операция задана в виде постоянного выражения, в проверяемом контексте возникает ошибка компиляции. Если же операция выполняется в ходе работы программы, создается исключение OverflowException.

  • В непроверяемом контексте результат усекается путем удаления старших разрядов, которые не помещаются в целевой тип данных.

См. также

Задачи

Практическое руководство. Поиск дополнительных сведений об исключении с помощью помощника по исключениям

Ссылки

OverflowException