C#中的检查和未检查异常


在 C# 中,你可以执行已检查或未检查的语句。

在已检查状态中,算术溢出时会引发异常,而在未检查状态中会忽略算术溢出。

已检查的异常

使用 checked 关键字显式启用整数类型算术操作和转换的溢出检查。为此,只需设置 checked 关键字。

可以使用编译器选项、环境配置或 checked 关键字启用溢出检查。

res = checked(val + 10);

假设 val 的值为 2147483647,即 int 类型的最大值。上述操作将引发错误,因为它被检查了。这会在运行时启用溢出检查。

未检查的异常

使用 unchecked 关键字禁止整数类型算术操作和转换的溢出检查。为此,只需设置 unchecked 关键字。

这里,忽略了算术溢出。使用它来禁止溢出检查。

res =unchecked(val + 10);

假设 val 的值为 2147483647。上述操作不会引发错误,因为使用 unchecked 关键字阻止了溢出检查。

更新日期: 2020 年 6 月 22 日

已观看 3K+ 次

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告