Best practice for caught exceptions not being used
本问题已经有最佳答案,请猛点这里访问。
我很想知道对于捕获到的未使用的异常,最佳实践是什么。具有讽刺意味的是,这首先与最佳实践背道而驰。我发现自己可以这样做,也许这只是我的经验不足,但我想知道通常做什么。
我已经编写了一个小型控制台应用程序,它从一个SharePoint站点获取列表信息,并在另一个服务器场上共享。有问题的函数将列表查询到Xelement中,我会在查询过程中发现任何错误。这是一个片段。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ... 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来保持堆栈信息的正确顺序。在这种情况下,我很好奇地想知道对于
捕获一个异常以重新引发它是毫无意义的,只会导致代码变大变慢。
另一方面,如果您确实捕获并且不重新执行,则应该始终将其记录在某个位置,就像您在外部处理程序中所做的那样。