关于异常的疑难解答:System.OverflowException
更新:2007 年 11 月
在检查的上下文中执行的算术、强制转换或转换运算导致溢出时,会引发 OverflowException 异常。当运算生成的值对于目标类型来说太大、无穷或“不是数字”(NaN) 时,会发生溢出。
相关提示
当从一个数字执行强制转换时,值必须是一个小于无限大的有效数字。
源值不能为无穷或“不是数字”。确保不会除零。
除零时通常会产生此异常。
备注
在检测溢出的语言中,OverflowException 异常在发生溢出时引发。例如,在 C# 中,checked 关键字用来检测溢出条件。OverflowException 异常仅发生在所检查的上下文中。
对于从超出目标类型范围的整型或小数类型算术运算或转换中得出的结果:
在所检查的上下文中,如果该运算是常数表达式,则发生编译时错误。否则,如果该运算在运行时执行,则引发 OverflowException 异常。
在未检查的上下文中,计算的结果被截断,放弃不适合目标类型的任何高序位。