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


    建议62:避免嵌套异常

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

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

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

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

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

    或者:

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

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

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

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

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

  • 相关阅读:
    zpf 视图
    html5本地存储
    sqlite 使用记录
    百度开放平台
    PHP exit() 输出
    yum笔记
    手动编译安装软件
    while循环
    linux下面测试网络带宽 (转载)
    软件包管理器的核心功能(笔记)
  • 原文地址:https://www.cnblogs.com/farmer-y/p/7992738.html
Copyright © 2020-2023  润新知