以下代码不能正常运行:
get
{
try
{
foreach (object o in NullObjectList)
{
if (o.Property)
{
return true;
}
}
}
catch (NullReferenceException) {}
return false;
}
为什么Visual Studio在尝试迭代NullObjectList时会暂停和中断?通常它只是捕获异常并继续前进。这有什么独特之处?
编辑:另一种解决方案是检查对象是否为空,但我仍然很好奇为什么try-catch在这种情况下不起作用。
答案 0 :(得分:1)
它按预期工作,当引发异常并正确捕获异常时,Visual Studio不会中断。您确定没有将“公共语言运行时异常”设置为在“异常”对话框中抛出? 我在Visual Studio 2008和2012中尝试过。