我承认:我没有太多的异常处理.我知道我应该做得更多,但我永远不能把头包裹在哪里开始和停在哪里.我不是很懒.离得很远.这就是我对异常处理的矛盾心理过度紧张.看起来即使是最小的应用程序中也存在看似无限多的地方,可以应用异常处理并且它可能开始感觉有点矫枉过正.
我经过仔细的测试,验证和默祷,但这是一个糟糕的编程事故等待发生.
那么,您的异常处理最佳实践是什么?特别是,应该应用异常处理的最明显/最关键的地方在哪里?应该考虑哪些地方?
对于模糊的问题我很抱歉,但我真的想一劳永逸地关闭这本书.
Microsoft的模式与实践团队在将异常管理的最佳实践融入企业库异常处理应用程序块方面做得很好
事件如果不使用企业库,我强烈建议您阅读他们的文档.P&P团队描述了异常处理的常见场景和最佳实践.
为了帮助您入门,我建议您阅读以下文章:
MSDN上的异常处理
MSDN上.NET中的异常管理
CodeProject上.NET中的异常处理最佳实践
ASP.NET特定文章:
用户友好的ASP.NET异常处理
使用ASP.NET进行全局异常处理
C#和ASP .Net中的异常处理
处理异常的黄金法则是:
"只抓住你知道如何处理"
我已经看到了太多的try-catch块,其中catch只会重新抛出异常.这没有增加价值.仅仅因为你调用一个有可能抛出异常的方法并不意味着你必须处理调用代码中可能的异常.让异常在调用堆栈中传播到其他知道该做什么的代码通常是完全可以接受的.在某些情况下,允许异常一直传播到用户界面层然后捕获并向用户显示消息是有效的.可能没有代码最适合知道如何处理这种情况,用户必须决定行动方案.