In languages that detect overflow, OverflowException is the exception that gets thrown. For example, in C#, the checked keyword is used to detect overflow conditions. An OverflowException exception occurs only in a checked context.
The following Microsoft intermediate language (MSIL) instructions throw OverflowException :
-
add.ovf.<signed>
-
conv.ovf.<to type>
-
conv.ovf.<to type>.un
-
mul.ovf.<type>
-
sub.ovf.<type>
-
newarr
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 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.
OverflowException uses the HRESULT COR_E_OVERFLOW, that has the value 0x80131516.
For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.