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;
            }
  • 相关阅读:
    C++Builder中的异常传递
    lpc1343 usb isp not work in linux and mac
    玩玩Hiweed linux 2.0
    有关 stringWithString 和 initWithString
    Windows mobile 中获取内存使用情况
    玩玩xubuntu 8.10
    升级我的ipaq hx2110到Windows Mobile 6.0
    面试技巧 from IBM
    常用Sql语句
    c#的事件机制示例代码: 猫> 老鼠, 主人
  • 原文地址:https://www.cnblogs.com/liuxiaoji/p/9177645.html
Copyright © 2011-2022 走看看