6
是否可以從異常對象中提取類名和文件名?從異常中提取類和文件名
我期待將更好的日誌記錄集成到我的應用程序中,並且我想包括髮生異常的位置的詳細信息。
在MVC中,Stacktrace不返回類名稱的文件名&,並且我在查找這些文件的位置方面有點遺憾。
感謝
是否可以從異常對象中提取類名和文件名?從異常中提取類和文件名
我期待將更好的日誌記錄集成到我的應用程序中,並且我想包括髮生異常的位置的詳細信息。
在MVC中,Stacktrace不返回類名稱的文件名&,並且我在查找這些文件的位置方面有點遺憾。
感謝
您可以創建一個異常對象StackTrace
對象。它將包括StackFrame
這個例外信息。然後你可以找到文件和方法名稱,位置以及它們是否可用。當然這應該不用說了,但只有在你編譯你的程序集包含調試符號(我認爲可以在MVC中可用)時,所有這些都可用。
catch (Exception ex)
{
var st = new StackTrace(ex, true); // create the stack trace
var query = st.GetFrames() // get the frames
.Select(frame => new
{ // get the info
FileName = frame.GetFileName(),
LineNumber = frame.GetFileLineNumber(),
ColumnNumber = frame.GetFileColumnNumber(),
Method = frame.GetMethod(),
Class = frame.GetMethod().DeclaringType,
});
// log the information obtained from the query
}
好的工作夥伴! – 2013-08-22 09:37:56