zoukankan      html  css  js  c++  java
  • 异常处理 以此警示后人

    异常类Exception 

    记录成文本日志 

    有些人喜欢记录ex.Message 

    这样记录一般只有一行中文的错误提示 

    结果查原因半天查询不不到 

    直接序列化Exception 也会出现一定的问题会报循环引用问题

    我们一般向下面这样处理

    /// <summary>
            /// 创建异常消息
            /// </summary>
            /// <param name="ex">异常信息</param>
            /// <param name="remark">备注</param>
            /// <returns>结果</returns>
            private static StringBuilder CreateErrorMessage(System.Exception ex, string remark)
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append("************************Exception Start********************************");
                string newLine = Environment.NewLine;
                System.Exception innerException = ex.InnerException;
                stringBuilder.AppendFormat("Exception Date:{0}{1}", DateTime.Now, Environment.NewLine);
                if (innerException != null)
                {
                    stringBuilder.AppendFormat("Inner Exception Type:{0}{1}", innerException.GetType(), newLine);
                    stringBuilder.AppendFormat("Inner Exception Message:{0}{1}", innerException.Message, newLine);
                    stringBuilder.AppendFormat("Inner Exception Source:{0}{1}", innerException.Source, newLine);
                    stringBuilder.AppendFormat("Inner Exception StackTrace:{0}{1}", innerException.StackTrace, newLine);
                }
                stringBuilder.AppendFormat("Exception Type:{0}{1}", ex.GetType(), newLine);
                stringBuilder.AppendFormat("Exception Message:{0}{1}", ex.Message, newLine);
                stringBuilder.AppendFormat("Exception Source:{0}{1}", ex.Source, newLine);
                stringBuilder.AppendFormat("Exception StackTrace:{0}{1}", ex.StackTrace, newLine);
                stringBuilder.AppendFormat("Exception Remark:{0}{1}", remark, newLine);
                stringBuilder.Append("************************Exception End************************************");
                stringBuilder.Append(newLine);
                return stringBuilder;
            }
  • 相关阅读:
    PyCharm使用(完全图解(最新经典))
    pg存储过程学习
    sql_to_sqlalchemy
    python中嵌入lua解析器
    Python和lua互相调用
    Lupa
    [cb] Unity Editor 添加右键菜单
    [C#] 委托之Action和Func区别
    [反编译U3D]Decompile Unity Resources
    [cb] Assetbundle打包(一)
  • 原文地址:https://www.cnblogs.com/liuxiaoji/p/9177645.html
Copyright © 2011-2022 走看看