写异常日志

 private void btnException_Click(object sender, EventArgs e)
        {
            try
            {
                throw new Exception("异常测试");
            }
            catch (Exception ex)
            {
                m_WriteLog(ex);
            }
            finally
            {
                
            }
        }
        void m_WriteLog( Exception ex,string logAddress="")
        {
            //如果日志文件为空,则默认在Debug目录下新建 YYYY-mm-dd_Log.log文件
            if (logAddress == "")
            {
                logAddress = Environment.CurrentDirectory + '\\' + DateTime.Now.Year + '-' 
                    + DateTime.Now.Month + '-' + DateTime.Now.Day + "_Log.log";
            }

            //把异常信息输出到文件
            StreamWriter sw = new StreamWriter(logAddress,true);
            sw.WriteLine("当前时间:"+DateTime.Now.ToString());
            sw.WriteLine("异常信息:"+ex.Message);
            sw.WriteLine("异常对象:"+ex.Source);
            sw.WriteLine("调用堆栈:\n"+ex.StackTrace.Trim());
            sw.WriteLine("触发方法:" + ex.TargetSite);
            sw.WriteLine();
            sw.Close();
        }

 Exception自动捕捉发生异常的对象,对象上有异常信息,一切皆对象的思想是值得认可的,异常信息弹出来的错误框也是有GUI绘图对象画出来的对话框

 掌握一门技术的内涵是可以动态手写代码,掌握各种命名空间大概要做些什么,命名空间下的类是具体实现,用构造函数事件委托方法属性等类成员来实现达到预期的功能和

 效果的目的。

posted @ 2016-10-25 11:57  爱编程1314  阅读(132)  评论(0编辑  收藏  举报