停止在嵌套的try-catch块中抛出异常

时间:2014-04-02 11:07:57

标签: c# datetime try-catch

在我的应用程序中,订单从服务获取并通过foreach循环添加到ItemSource。当它继续时,有一个转换DateTime的地方,取决于值,有时它会抛出异常。我编写的代码如下:

public void MyMethod()
{
    try
    {
        foreach (var item in Orders)
        {
            DateTime date;

            try
            {
                date = item.Date;
            }

            catch
            {
                date = DateTime.Now;
            }
        }
    }

    catch
    {
    }
}

但问题是,当在try块中抛出日期格式异常时,它会在内联catch块中抛出该异常并将该异常传递给外部catch块。所以我没能从服务中获得所有订单。

有人可以建议解决方案吗?

1 个答案:

答案 0 :(得分:0)

错误可能发生在'for'循环中。

你能发布两种情况下你得到的异常吗? 当Visual Studio暂停程序时,它可能会说“NullReferenceException”,这是异常的名称。

如果指定了异常,你可以使用正确的'catch'块,当我知道异常是什么时,我会编写代码。