异常处理的问题
我在一个类里面 throw new Exception("参数为空"); 抛出了异常在Global.asax文件里面的Application_Error事件增加了
Exception exp = Server.GetLastError();
// 在出现未处理的错误时运行的代码
string strE = exp.InnerException.Message.ToString();
Server.ClearError();
Server.Transfer("error.aspx", false);
error.aspx
里面:
Exception LastError = Server.GetLastError();
string ErrorMsg;
if (LastError != null)
{
ErrorMsg = LastError.Message;
}
else
{
ErrorMsg = "没有错误信息";
}
Response.Write(ErrorMsg);
为什么接收不到错误信息? --------------------编程问答-------------------- Server.ClearError(); //这不是已经清空了么?
Server.Transfer("error.aspx", false); //跳页
--------------------编程问答-------------------- 回yeness
ClearError()去掉还是一样
--------------------编程问答-------------------- 试下exp.ToString(); --------------------编程问答-------------------- Server.ClearError();
删掉 --------------------编程问答-------------------- Server.Transfer("error.aspx",false);
改为Server.Transfer("error.aspx",true); 试试!
--------------------编程问答-------------------- 无论怎样Server.ClearError(); 是一定要删除的! --------------------编程问答-------------------- Global.asax文件里面的Application_Error事件根本就不运行。。
怎么我throw new ApplicationException 也不能进行 void Application_error事件呢? --------------------编程问答-------------------- mark --------------------编程问答-------------------- mark --------------------编程问答-------------------- 那单步调试看看吧。无论怎样Server.ClearError(); 是一定要删除的! --------------------编程问答-------------------- Server.ClearError();
如果你没有上面的一句话
后面的是不会执行下面这句话的
Server.Transfer("error.aspx", false);
你使用了clearError();后才能继续执行
所以你到error.aspx中得不到错误了 --------------------编程问答-------------------- 先看看Application_Error这个事件在什么时候才会执行吧 --------------------编程问答-------------------- Application_error这个事件根本不进去..
--------------------编程问答-------------------- 这样也行?关注 --------------------编程问答-------------------- 去了解一下Application吧 --------------------编程问答-------------------- 都已经ClearError()了,还能获取什么错误信息?
补充:.NET技术 , ASP.NET