C# 中的已检查异常与未检查异常
csharpprogrammingserver side programming更新于 2025/9/19 1:43:00
您可以在已检查或未检查的上下文中执行 C# 中的语句。
在已检查的上下文中,算术溢出会引发异常,而在未检查的上下文中,算术溢出会被忽略。
已检查的异常
使用 checked 关键字明确启用整数类型算术运算和转换的溢出检查。为此,只需设置 checked 关键字即可。
溢出检查可以通过编译器选项、环境配置或使用 checked 关键字来启用。
res = checked(val + 10);
假设 val 的值为 2147483647,即 int 类型的最大值。由于已检查,上述操作将引发错误。这可以在运行时启用溢出检查。
未检查异常
使用 unchecked 关键字可防止对整数类型算术运算和转换进行溢出检查。为此,只需设置 unchecked 关键字即可。
此处,算术溢出被忽略。使用它来防止溢出检查。
res =unchecked(val + 10);
假设 val 的值为 2147483647。由于使用 unchecked 关键字可防止溢出检查,因此上述操作不会引发错误。

