This documentation is archived and is not being maintained.

Troubleshooting Exceptions: System.OverflowException

An OverflowException exception is thrown when an arithmetic, casting, or conversion operation in a checked context results in an overflow. An overflow occurs when an operation produces a value too large for the destination type, infinity, or Not a Number (NaN).

When casting from a number, the value must be a valid number less than infinity.

A source value cannot be infinity or Not a Number.

Make sure you are not dividing by zero.

Dividing by zero will typically yield this exception.

In languages that detect overflow, OverflowException is the exception that is thrown when overflow occurs. For example, in C#, the checked keyword is used to detect overflow conditions. An OverflowException exception occurs only in a checked context.

For a result from an integral or decimal-type arithmetic operation or conversion that is outside the range of the destination type:

  • In a checked context, a compile-time error occurs if the operation is a constant expression. Otherwise, an OverflowException exception is thrown if the operation is performed at run time.

  • In an unchecked context, the result is truncated by discarding any high-order bits that do not fit in the destination type.