PageError事件捕获的错误,在页面转发时错误信息没有了?
比如说,我这样写的
protected override void OnError(EventArgs e)
{
//Response.Redirect( "./error.aspx ");
Server.Transfer( "./errror.aspx ");
//这里不管用什么方式跳转
//在error.aspx里都无法取得Server.GetLastError()里的异常?????
//这是为什么呢???
}
error.aspx
private void page_load(){
System.Exception er = Server.GetLastError();
Response.Write( "错误信息: "+er.Message+ " <BR> ");
Server.ClearError();
}
我想知道 有没有解决方案呀,谢谢大家了
------解决方案--------------------只在当前页有效.错误扔出后就没有了.
------解决方案--------------------只在当前页有效.错误扔出后就没有了
你个问题你已经问过了吧,你需要换个方式实现。
------解决方案--------------------在Global.asax里的Application_Error事件
void Application_Error(object sender, EventArgs exp)
{
// 在出现未处理的错误时运行的代码
Exception e = Server.GetLastError();
string strE = "内部错误: " + e.InnerException;
applog.writeLog(strE);
Server.ClearError();
Server.Transfer( "../errorMsg.aspx?errMsg= " + strE, false);
}