2013-07-09 30 views
-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的最佳做法应该永远不会发生?

+3

没有“最佳实践”。 –

+1

要么不捕捉它,要么将其记录到文件中。 – gunr2171

回答

3

捕捉异常只是为了重新抛出它是毫无意义的,只会导致您的代码变得越来越慢。另一方面,如果你确实抓住并且不重新抛出,你应该总是将它记录在某个地方,因为你似乎在外部处理程序中正确地执行了操作。