码迷,mamicode.com
首页 > Windows程序 > 详细

编写高质量代码改善C#程序的157个建议——建议62:避免嵌套异常

时间:2015-08-17 21:09:49      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

建议62:避免嵌套异常

应该允许异常在调用堆栈上往上传,不要过多的使用catch,然后再throw。过多的使用catch会带来两个问题:

1)代码更多了。这看上去好像你根本不知道怎么处理异常,所以你总是不停地catch。

2)隐藏了堆栈信息,使你不知道真正发生异常的地方。

无故地嵌套是我们应该极力避免的。当然。如果真的需要捕获这个异常来恢复一些状态,然后重新抛出,代码看起来应该是这样的:

            try
            {
                //...
            }
            catch (Exception)
            {
                //工作代码
                throw;
            }

或者:

            try
            {
                //...
            }
            catch
            {
                //工作代码
                throw;
            }

尽量避免像下面这样引发异常:

            catch (Exception ex)
            {
                //工作代码 
                throw ex;
            }

直接throw ex而不是throw将会重置堆栈信息。

 

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

编写高质量代码改善C#程序的157个建议——建议62:避免嵌套异常

标签:

原文地址:http://www.cnblogs.com/jesselzj/p/4737545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!