C# Debug模式try不能catch异常System.NullReferenceException

文章讨论了在C#编程中,尝试捕获NullReferenceException异常时,Debug模式下无法正常捕获但Release模式可以的情况。解决方案是在Debug模式的异常设置中处理NullReferenceException,取消其前面的选择框,从而在测试时能正常捕获该异常。这表明Debug模式可能对潜在错误有更严格的检查。

如下代码在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模式检查更为仔细,提前防范可能存在的错误。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值