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


您可以在 C# 中以 checked 或 unchecked 的上下文执行语句。

在 checked 中,异常由算术溢出引发,而在 unchecked 上下文中,会忽略算术溢出。

Checked 异常

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

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

res = checked(val + 10);

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

Unchecked 异常

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

在这里,算术溢出被忽略。使用它来防止溢出检查。

res =unchecked(val + 10);

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

更新日期: 2020-06-22

3 千次以上浏览

开启您的职业生涯

完成课程并获得认证

开始
广告