在属性中使用try-catch
本文关键字:try-catch 属性 | 更新日期: 2023-09-27 18:17:51
下面的代码不能正常工作:
get
{
try
{
foreach (object o in NullObjectList)
{
if (o.Property)
{
return true;
}
}
}
catch (NullReferenceException) {}
return false;
}
为什么Visual Studio暂停和打破当它试图迭代NullObjectList?通常它只是捕获异常然后继续。它的独特之处是什么?
编辑:另一种解决方案是检查对象是否为null,但我仍然很好奇为什么try-catch在这种情况下不起作用。
对我来说,它的工作原理与预期一样,当异常被引发并且异常被正确捕获时,Visual Studio不会中断。你确定你没有"公共语言运行时异常"设置在异常对话框中抛出?我在Visual Studio 2008和2012中尝试过。