在属性中使用try-catch?

时间:2013-06-10 02:11:14

标签: c# exception try-catch nullreferenceexception

以下代码不能正常运行:

get
{
    try
    {
        foreach (object o in NullObjectList)
        {
            if (o.Property)
            {
                return true;
            }
        }
    }
    catch (NullReferenceException) {}

    return false;
}

为什么Visual Studio在尝试迭代NullObjectList时会暂停和中断?通常它只是捕获异常并继续前进。这有什么独特之处?

编辑:另一种解决方案是检查对象是否为空,但我仍然很好奇为什么try-catch在这种情况下不起作用。

1 个答案:

答案 0 :(得分:1)

它按预期工作,当引发异常并正确捕获异常时,Visual Studio不会中断。您确定没有将“公共语言运行时异常”设置为在“异常”对话框中抛出? 我在Visual Studio 2008和2012中尝试过。