花边管理软件官方网站

项目统一错误捕获

一个项目总要记录系统运行中产生的错误,所以应该有统一的调用方法,即可以记录重要的系统错误,又可以根据错误做相应的友好提示页面,在开发过程中又可以直接抛出错误,简单明了的提示系统错误的原因。
下面是我们项目中的一个应用方法。

定义一个错误的Class,声明一个事件,在Application start进行绑定处理。
/// <summary>
 /// 错误代理
 /// </summary>
 public delegate void ErrorEventHandler(object objExInfo,Exception err,string strMsg);


 /// <summary>
 /// ErrorManage 的摘要说明。
 /// </summary>
 public class ErrorManage
 {
  /// <summary>
  ///
  /// </summary>
//  public ErrorManage()
//  {
//
//  }
  private static ErrorManage _ErrorManage;
  /// <summary>
  ///
  /// </summary>
  public static ErrorManage Current
  {
   get
   {
    if( _ErrorManage == null )
    {
     _ErrorManage = new ErrorManage();
    }
    return _ErrorManage;
   }
  }

  /// <summary>
  /// 错误触发的事件
  /// </summary>
  public event ErrorEventHandler OnError;

  /// <summary>
  /// 通过触发事件记录异常信息(绑定事件在Application_Start)
  /// </summary>
  /// <param name="errObj">发生异常的页面</param>
  /// <param name="err">异常对象</param>
  public virtual void LogError(Object errObj ,Exception err)
  {
   if(OnError != null)
   {
    OnError(errObj,err,err.Message);
   }
   System.Diagnostics.Debug.WriteLine(errObj + err.ToString());
  }
  /// <summary>
  ///
  /// </summary>
  /// <param name="errObj"></param>
  /// <param name="err"></param>
  /// <param name="Msg"></param>
  public virtual void LogError(Object errObj ,Exception err,string Msg)
  {
   if(OnError != null)
   {
    OnError(errObj,err,Msg);
   }
   System.Diagnostics.Debug.WriteLine(errObj + err.ToString());
  }
 }
调用方式如下:
protected void Application_Start(Object sender, EventArgs e)
  {
       ErrorManage.Current.OnError += new ErrorEventHandler(System_OnError);
                             }
 /// <summary>
        /// 记录异常信息
        /// </summary>
        /// <param name="objExInfo">发生异常的页面</param>
        /// <param name="err">异常对象</param>
        /// <param name="strMsg">异常消息</param>
  private void System_OnError(object objExInfo,Exception err,string strMsg)
  {
        //根据你项目的需要,自定义处理
   }
在项目开发过程中,有几点好处。
1.如果哪里发生异常,就直接抛出异常,界面就知道是哪里错误了,有利于直接找到错误点,而不用一步一步进行调试找错误。
2.可以加个自定义的异常类,根据异常类的描述,进行相应的错误记录跟友好页面提示。
3.可以随意关闭是否记录错误的日志。

posted @ 2008-06-01 23:07  花边软件,花边管理软件,服装(鞋)管理软件  Views(653)  Comments(4Edit  收藏  举报
花边管理软件官方网站