在VS2010 SP1中调试我的MVC 4应用程序时,调用了Application_Error()
处理程序,但Server.GetLastError()
为空。Application_Error被调用,但没有异常
protected void Application_Error()
{
var exception = Server.GetLastError();
// exception is null. How is that possible?
}
MSDN statesApplication_Error
是
如果你的应用程序...的任何位置发生未处理的异常称为...您可以获取有关从
GetLastError
方法最近的错误信息。
MSDN文档为Server.GetLastError
()指出
返回值:上一个异常被抛出。
我该如何处于Application_Error()
被调用的状态,但Server.GetLastError()
返回null?
我认为Application_OnError在某处显式调用。所以它被称为尽管没有例外。也许你可以在整个解决方案中搜索“Application_OnError”字符串,并确认这不是明确调用的。 – Narendra 2012-07-27 06:59:59
@Rain:它没有明确地被调用。 – 2012-07-27 07:24:48
请检查。 http://stackoverflow.com/questions/343014/asp-net-custom-error-page-server-getlasterror-is-null – Narendra 2012-07-27 07:36:07