• 【转】编写高质量代码改善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个建议》陆敏技

  • 相关阅读:
    L6循环神经网络
    L5语言模型与数据集
    L4文本预处理
    L2 Softmax与分类模型
    L3 多层感知机
    L1线性回归
    P4语法(4)Control block
    机器学习笔记(4)Logistic回归
    [CF] Sasha and One More Name
    机器学习笔记(3)多变量线性回归
  • 原文地址:https://www.cnblogs.com/farmer-y/p/7992738.html
Copyright © 2020-2023  润新知