如下代码在debug模式,产生异常System.NullReferenceException。
Book book1 = null;
try
{
book1.Name = "LeBao";
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
问题:try---catch并不能捕捉此异常。

原因:Debug模式下不能捕捉此异常,Release模式可以捕捉。
措施:在Debug模式下,能catch此异常的方式:在异常信息中选择“打开异常设置”

在右下方的“异常设置”小窗口中,输入条件(如Null),过滤出System.NullReferenceException。

取消该项前面的选择框,再执行测试,可以正常捕捉到此异常。
![]()
注:Debug和Release两个模式中的try-catch的运行情况不同,应该是在Debug模式检查更为仔细,提前防范可能存在的错误。
文章讨论了在C#编程中,尝试捕获NullReferenceException异常时,Debug模式下无法正常捕获但Release模式可以的情况。解决方案是在Debug模式的异常设置中处理NullReferenceException,取消其前面的选择框,从而在测试时能正常捕获该异常。这表明Debug模式可能对潜在错误有更严格的检查。
1399

被折叠的 条评论
为什么被折叠?



