private static void OverFlowExceptionTest()
{
//look this two Code Where is different
#region MyRegion
Console.WriteLine("no check overflow");
int val1 = int.MaxValue - 1;
Console.WriteLine($"init val : {val1}");
val1++;
Console.WriteLine($"add One :{val1}");
val1++;
Console.WriteLine($"add Two :{val1}");
val1++;
Console.WriteLine($"add three :{val1}");
#endregion
#region check overflow
//try
//{
checked
{
Console.WriteLine("check overflow");
int val2 = int.MaxValue - 1;
Console.WriteLine($"init val : {val2}");
val2++;
Console.WriteLine($"add One :{val2}");
val2++;
Console.WriteLine($"add Two :{val2}");
val2++;
Console.WriteLine($"add three :{val2}");
}
//}
//catch (Exception ex )
// {
// Console.WriteLine( $"{ex.GetType()} say {ex.Message} \r\n Exception Stack: {ex.StackTrace} " );
// }
#endregion
}
自己尝试运行一下吧