【发布时间】:2011-03-15 07:04:39
【问题描述】:
对于错误处理,我有几行代码用于捕获 global.asax 中的每个错误
:void Application_Error(object sender, EventArgs e)函数的内容是这样的:
try
{
Exception objErr = Server.GetLastError().GetBaseException();
if (!(objErr is HttpException))
{
shop.BLL.Utility.Errorlog.WriteError(objErr, "Global.asax caught an Exception");
}
else
{
HttpException hex = (HttpException)objErr;
if (hex.ErrorCode == 404)
Response.Redirect("404.aspx?msg=" + hex.Message);
else
{
shop.BLL.Utility.Errorlog.WriteError(hex, "Global.asax caught an HttpException code: " + hex.ErrorCode);
}
}
}
catch { }
Server.ClearError();
现在事情是这样的:当我转到不存在的blabla.aspx 时,它最终出现在shop.BLL.Utility.Errorlog.WriteError(hex, "Global.asax caught an HttpException code: " + hex.ErrorCode); 线上,并且错误代码的值为-2147467259
为什么不是 404?
【问题讨论】:
标签: c# asp.net iis-6 http-status-code-404