错误处理不工作的asp.net

时间:2012-10-30 06:50:09

标签: c# asp.net logging

我有以下代码来处理我的错误

Application_Error中的Global.asax.cs

Exception exception = Server.GetLastError();
if (exception != null)
{
    //Log the error
}

但是我也有自定义错误页面,我重定向到上面以及web.config - 我这样做是因为似乎Application_Error没有捕获所有发生的错误?

所以在Page_Load的错误页面中,我有这段代码

Exception exception = Server.GetLastError();                
string exInnerExp = "";
if (exception != null)
{
    exInnerExp = exception.InnerException.ToString();
    //Log error
}

这从不起作用?我不知道为什么,对此的任何帮助都非常感激。

由于

修改 在我的web.config中,我有以下代码:

<customErrors mode="RemoteOnly">
   <error redirect="http://www.example.com/errorpages/404.aspx" statusCode="404" />
   <error redirect="http://www.example.com/errorpages/siteerror.aspx" statusCode="500" />
</customErrors>

以及

<httpErrors>
   <remove statusCode="500" subStatusCode="-1" />
   <remove statusCode="404" subStatusCode="-1" />
   <error statusCode="404" prefixLanguageFilePath="" path="/errorpages/404.aspx" responseMode="ExecuteURL" />
   <error statusCode="500" prefixLanguageFilePath="" path="/errorpages/siteerror.aspx" responseMode="ExecuteURL" />
    </httpErrors>

修改

最初我虽然没有点击Application_Error,但后来我找到了一段代码,如果Server.GetLastError()不为null,它实际上只是在运行。所以现在我的问题稍有改变,Application.GetLastError()在Application_Error事件中为空。例如,这可能发生的地方:

我有一个完美运行的构建项目,如果我转到UserControl并更改asp:TextBox的ID,那么页面将不会加载并抛出和错误,此错误未被捕获。

0 个答案:

没有答案