我想編寫異常的methodname,classname,filename,linenumber。我如何實現這一點?我嘗試了下面的代碼,將Exception
傳遞給在文本文件中寫入msg
的函數。獲取異常詳細信息
string msg = "";
StackTrace st = new StackTrace(ex);
var frame=st.GetFrame(0);
msg = @"Message : " + ex.Message + " \n FileName: " + frame.GetFileName() + " \n Method Name : " + frame.GetMethod() + "\n Line Number : " + frame.GetFileLineNumber()+"\n Class Name :"+frame.GetMethod().DeclaringType;
日誌寫入文件,如下
Message: Message : Attempted to divide by zero.
FileName:
Method Name : Void Page_Load(System.Object, System.EventArgs)
Line Number : 0
Class Name :RequestsView
爲什麼FileName
缺失和LineNumber
顯示0,即使它出現在頁面上的其他行。如果有的話,請建議更正代碼。
嘗試打印所有幀的信息,而不僅僅是第0幀。 –
Windows事件日誌? –
請檢查[StackTrace文件名未知](http://stackoverflow.com/questions/1650253/stacktrace-filename-unknown)問題的答案。 – andrewpey