根据我们程序设计的经验,传统的程序异常处理方式我们首先会想到try- catch,不错,这种方式是可以的,但是这种方式如果运用到整个网站的页面中,那么无疑给我们编程人员的工作量是非常大的,而且这种方式的应用前提是应用在可预知的异常程序片断,对于不可预知的程序,我们是不是感到一筹莫展,不怕,我们可以通过以下方式来进行处理。
1、我们可以通过定义Page_Error事件来处理一个页面中的程序异常,程序事例如下
protected void Page_Error(object sender, EventArgs e)
{
HttpServerUtility server = this.Server;
Exception ex = server.GetLastError();
//Label1.Text = ex.ToString();
server.ClearError();
this.Response.Redirect("Error.htm");//跳转到预定于的错误提示页
}
2、针对于整站页面而言,我们可以通过在全局文件global.asax.cs中定义Application_Error事件来进行处理异常。
void Application_Error(object sender,EventArgs e)
{
HttpServerUtility server=this.Server;
Exception ex=server.GetLastError().InnerExcetion;
server.ClearError();
this.Response.Redirect("Error.htm");//跳转到预定于的错误提示页
}
3、通过配置web.config文件进行设置错误跳转页处理。在配置文件中统一设置网站的异常。
<customErrors mode="On" defaultRedirect="error.htm" redirectMode="ResponseRedirect" ></customErrors>
对于mode有三种设置方式:
On:启用错误页面支持;
Off:关闭错误页面支持、网站在没有做上面配置默认就是off状态;
RemoteOnly:远程的用户可以看到我们订制的错误提示页,本地的用户可以看详细错误提示页。