您的位置:首页 > 其它

利用委托统一处理web页面的异常信息

2007-06-09 13:57 381 查看
委托可以传递一个方法,那么利用这种特性,我们可以将在web页面中处理异常信息统一到一个静态方法中进行处理,实现如下:
声明委托:
public delegate void DoProcessPage( System.Web.UI.Page p_Page );




/**//// <summary>


/// 页面装载时调用此方法


/// </summary>


/// <param name="e"></param>


/// <remarks>


/// 在此初执行页面的初始化操作,及其相关验证操作


/// </remarks>


protected override void OnLoad(EventArgs e)




...{


base.OnLoad (e);




DoPostback( this.Page,new DoProcessPage( this.DoLoadPage ) );


}




//初始化处理,子页面可重写此方法


protected virtual void DoLoadPage( System.Web.UI.Page p_Page )




...{


}




//处理异常信息的静态方法


public static void DoPostback( System.Web.UI.Page p_Page,DoProcessPage p_DoProcessPage )




...{


try




...{


p_DoProcessPage( p_Page );


}




catch( System.Threading.ThreadAbortException ext )...{} //忽略线程异常,此异常在页面转向时会自动抛出,在此处截取


catch( Exception ex )




...{


//写入日志文件


WriteSystemLog( ex,p_Page.Request.Path,p_Page.Request.UserHostAddress );


//处理异常信息


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: