C#中的检查和未检查异常
在 C# 中,你可以执行已检查或未检查的语句。
在已检查状态中,算术溢出时会引发异常,而在未检查状态中会忽略算术溢出。
已检查的异常
使用 checked 关键字显式启用整数类型算术操作和转换的溢出检查。为此,只需设置 checked 关键字。
可以使用编译器选项、环境配置或 checked 关键字启用溢出检查。
res = checked(val + 10);
假设 val 的值为 2147483647,即 int 类型的最大值。上述操作将引发错误,因为它被检查了。这会在运行时启用溢出检查。
未检查的异常
使用 unchecked 关键字禁止整数类型算术操作和转换的溢出检查。为此,只需设置 unchecked 关键字。
这里,忽略了算术溢出。使用它来禁止溢出检查。
res =unchecked(val + 10);
假设 val 的值为 2147483647。上述操作不会引发错误,因为使用 unchecked 关键字阻止了溢出检查。
广告