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


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

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

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

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

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

Примечания

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

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

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

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

Сведения о диапазонах значений типов данных см. в разделах Сводка типов данных (Visual Basic), Таблица целых типов (Справочник по C#) и Таблица типов с плавающей запятой (Справочник по C#).

См. также

Задачи

Практическое руководство. Использование помощника по исключениям

Ссылки

OverflowException