c#中算法溢出的预防和处理方法是什么?
本文关键字:处理 方法 是什么 算法 溢出 | 更新日期: 2023-09-27 18:07:59
c#中算术溢出的预防和处理方法是什么?
和算术溢出(逻辑错误)转换为运行时错误?
我至少需要3种方法来解决这个问题!
您可以使用checked。
int z = 0;
try
{
// The following line raises an exception because it is checked.
z = checked(maxIntValue + 10);
}
catch (System.OverflowException e)
{
// The following line displays information about the error.
Console.WriteLine("CHECKED and CAUGHT: " + e.ToString());
}
// The value of z is still 0.
return z;
参见http://msdn.microsoft.com/en-us/library/74b4xzyw.aspx
的示例和解释。OP:
您还可以使用Int32.MaxValue
(用于int算术)来检查操作是否可能导致溢出,然后抛出您自己的异常或System.OverflowException
if ((Int32.MaxValue - x) < y) throw new Exception()