过去一年,我一直在SharePoint 2007/2010中开发页面和Web部件。我总是在我的代码中包含的一件事是try / catch块,以便在抛出异常时处理错误处理。这样,如果我有一个断开的Web部件,我会在该特定Web部件中向用户显示一条很好的错误消息,而不是在页面顶部或整页错误。我很喜欢这个过程,但我正在寻找一些关于我使用try / catch块的方法的输入(据我所知,可能会有性能影响)。
通常,我在进行数据库或Web服务调用时总是使用try / catch块。如果存在复杂的逻辑(我无法测试所有不同的情况),我甚至有时会将我的通用C#代码包装在try / catch块中。有时,我只是有一点偏执狂,并将使用try / catch将所有代码包装在整个Web部件中。
我可以获得一些关于使用try / catch块进行一般C#开发的反馈,特别是在SharePoint世界中使用C#开发吗?另外,我很想了解如何在开发SharePoint解决方案时有效地在我的C#代码中嵌入try / catches(有更全面的方法吗?)
提前致谢。
答案 0 :(得分:1)
在SharePoint世界中进行错误处理时,您通常会专注于性能。如果您担心性能问题,那么您可能希望尽可能让异常冒出来。我通常用try / catch块包装“入口”方法。例如,asp.net表单中的事件处理程序,Web部件,用户控件等。然后,当我想抛出自定义异常类型,自定义错误消息等时,我将代码包含在实用程序,数据访问等中。 / p>
不幸的是,我还没有找到一种处理SharePoint错误的全局方法。我为Web部件做了一个HandleError实用程序方法,我传入'this'和异常对象。 (WSPBuilder Extensions Web部件项目实际上内置了很好的实现。)try / catch块本身仍然是Web部件事件处理程序的本地。