处理应用程序级错误
问题描述:
我有代码(它在Internet中找到)来处理应用程序错误。我在事件日志中写道。处理应用程序级错误
void Application_Error(object sender, EventArgs e)
{
Exception myError = null;
if (HttpContext.Current.Server.GetLastError() != null)
{
string eventLog = "MySite";
string eventSource = "www.mysite.com";
string myErrorMessage = "";
myError = Server.GetLastError();
while (myError.InnerException != null)
{
myErrorMessage += "Message\r\n" +
myError.Message.ToString() + "\r\n\r\n";
myErrorMessage += "Source\r\n" +
myError.Source + "\r\n\r\n";
myErrorMessage += "Target site\r\n" +
myError.TargetSite.ToString() + "\r\n\r\n";
myErrorMessage += "Stack trace\r\n" +
myError.StackTrace + "\r\n\r\n";
myErrorMessage += "ToString()\r\n\r\n" +
myError.ToString();
myError = myError.InnerException;
}
if (EventLog.SourceExists(eventSource))
{
EventLog myLog = new EventLog(eventLog);
myLog.Source = eventSource;
myLog.WriteEntry("An error occurred in the Web application "
+ eventSource + "\r\n\r\n" + myErrorMessage,
EventLogEntryType.Error);
}
}
}
这是从事件日志行:。
Type Date Time Source Event Category
Error 03.04.2012 16:44:41 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:43:31 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:56 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:42:54 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
"
Error 03.04.2012 16:37:27 www.mysite.com 0 "An error occurred in the Web application www.mysite.com
“
正如你指出的错误在第二大约出现一次,但有关错误空
是什么此代码错误?
谢谢。
答
问题是在这一行imo
while (myError.InnerException != null)
你只写,如果有一个的InnerException错误的细节,但它并非总是如此
你也忘了打电话给
Server.ClearError();
在你处理结束(但我想这是一个选择)