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).
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.