-1

我很想知道捕获未使用的异常的最佳实践是什么。具有讽刺意味的是,这首先违背了最佳实践。我发现自己可以这样做,也许这只是我的经验不足,但我想知道通常会做什么。

我编写了一个小型控制台应用程序,它从一个 Sharepoint 站点获取列表信息,以便在另一个场中共享它。有问题的函数将列表查询到 XElement 中,我在此过程中发现了任何错误。这是片段。

...
    try
    {
       return lists.GetListItems("Global Announcement", null, null, viewFields.GetXmlNode(), null, null, null)
                 .GetXElement().Elements().First().Elements().First();
    }
    catch (Exception ex)
    {
        throw;
    }
}
catch (Exception ex)
{
    ErrorLogging.SaveErrorToEventLog("Encountered an error when attempting to connect: ", ex);
}

一位资深人士建议我只使用内部异常的 throw 来保持堆栈信息的正确顺序。在这种情况下,我很想知道最佳实践是什么,Exception ex或者如果一开始就打破最佳实践try catch就永远不会发生?

4

1 回答 1

3

捕获异常只是为了重新抛出它是没有意义的,只会导致你的代码变大变慢。

另一方面,如果您确实捕获并且不重新抛出,则应始终将其记录在某个地方,因为您似乎在外部处理程序中做得正确。

于 2013-07-09T18:46:26.360 回答