C#中的已检查与未检查异常
您可以在选中或未选中的上下文中以C#执行语句。
在选中时,算术溢出会引发异常,而在未选中的上下文中,算术溢出将被忽略。
检查异常
使用checked关键字可显式启用整数类型算术运算和转换的溢出检查。为此,只需设置checked关键字。
可以通过编译器选项,环境配置或使用checked关键字来启用溢出检查。
res = checked(val + 10);
假设val的值为2147483647,即int类型的最大值。由于已检查上述内容,因此将引发错误。这样可以在运行时进行溢出检查。
未经检查的异常
使用unchecked关键字可以防止对整数型算术运算和转换进行溢出检查。为此,只需设置unchecked关键字。
在此,算术溢出将被忽略。用它来防止溢出检查。
res =unchecked(val + 10);
假设val的值为2147483647。由于不会使用unchecked关键字来防止溢出检查,因此上述内容不会引发错误。