C# 从异常详细信息中获取发生异常的类名和方法名
我的Global.asax.cs中有此应用程序错误事件,它将获取应用程序中发生的任何未经处理的异常。我能够得到错误信息。我试图得到的也是异常发生的类名和方法名,以便更容易跟踪异常发生的位置和原因。请帮忙 Global.asax.csC# 从异常详细信息中获取发生异常的类名和方法名,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我的Global.asax.cs中有此应用程序错误事件,它将获取应用程序中发生的任何未经处理的异常。我能够得到错误信息。我试图得到的也是异常发生的类名和方法名,以便更容易跟踪异常发生的位置和原因。请帮忙 Global.asax.cs protected void Application_Error(object sender, EventArgs e) { var errMsg = Server.GetLastError().Message; if (st
protected void Application_Error(object sender, EventArgs e)
{
var errMsg = Server.GetLastError().Message;
if (string.IsNullOrWhiteSpace(errMsg)) return;
//Get Class name and method name
//ErrorLog.SaveLog(errMsg, Classname, Methodname);
Context.ClearError();
}
您可以使用StackTrace在调用堆栈中找到此信息,请参见中的示例 最简单的方法是记录:
Server.GetLastError().ToString()
这包括异常和任何内部异常的错误消息和堆栈跟踪,在某些情况下还包括其他有用信息(*)
请注意,Server.GetLastError().StackTrace
只会提供外部异常的堆栈跟踪,不太有用
(*)通过“其他有用信息”,我的意思是任何异常派生类都可以重写
ToString
,以添加特定于该异常类型的附加信息。例如,重写ToString
以附加ClientConnectionId
var errMsg=Server.GetLastError().StackTrace代码>可能就是你要找的。