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绘图对象画出来的对话框
掌握一门技术的内涵是可以动态手写代码,掌握各种命名空间大概要做些什么,命名空间下的类是具体实现,用构造函数事件委托方法属性等类成员来实现达到预期的功能和
效果的目的。
时间: 2024-11-07 01:07:17