checked 关键字用于对整型类型算术运算和转换显式启用溢出检查。
class Program
{
static int maxIntValue = 2147483647;
static int CheckedMethod()
{
int z = 0;
try
{
z = checked(maxIntValue + 10);
}
catch (System.OverflowException e)
{
Console.WriteLine("CHECKED and CAUGHT: " + e.ToString());
}
return z;
}
static int UncheckedMethod()
{
int z = 0;
try
{
z = maxIntValue + 10;
}
catch (System.OverflowException e)
{
Console.WriteLine("UNCHECKED and CAUGHT: " + e.ToString());
}
return z;
}
static void Main(string[] args)
{
Console.WriteLine("\nCHECKED output value is: {0}", CheckedMethod());
Console.WriteLine("UNCHECKED output value is: {0}", UncheckedMethod());
}
}
检查则会抛出溢出异常