2012-11-02 43 views
-6
try 
{ 
    // code here 
} 
catch (Exception err) 
{ 
    StackTrace st1 = new StackTrace(true); 
    Debug.WriteLine(err.Message,st1.ToString());    
} 
+1

爲什麼不使用'err'上可用的堆棧跟蹤信息? –

+0

我完全是Stacktrace的新手。我讀過msdn資源,之後我假設它與使用Eventhandlers類似。所以我寫了這個,但我不知道它是做什麼的,或者它是否符合我的目的。你能否詳細說明一下? – Maraduarz

+0

@Jamiec,erikkallen,w0lf,hometoast,橋...謝謝你們的幫助。我剛開始工作,我只想知道這個代碼段是幹什麼的,看看它是否會滿足我的需求......但是謝謝你... – Maraduarz

回答

2

它會捕獲您的異常,並將錯誤消息和新的堆棧跟蹤寫入您的調試日誌。

作爲您的評論的後續,這是我如何從您的例外中獲得堆棧跟蹤。我使用智能(這種東西,自動填寫變量名稱,當你鍵入他們)來做到這一點。

 try 
     { 
      //stuff 
     } 
     catch (Exception ex) 
     { 
      string trace = ex.StackTrace; 
     } 
+0

謝謝@Sam我。 現在,我可以寫入事件日誌並使用stacktrace,如上所述,一起?如果我想要寫入事件日誌以及調試日誌,那將會好嗎? 或者是事件日誌和調試日誌是否相同? 謝謝大家,這個論壇對我來說非常足智多謀。 – Maraduarz

+0

@Maraduarz - 你研究過如何訪問事件日誌嗎?你有什麼嘗試? –

+0

我有事件處理程序第一,然後我的主管也希望我包括類型,做到了這一點,然後他來找我,並告訴我包括堆棧跟蹤。現在我很困惑,如果我需要包括兩個。我想我會包括他們兩個。 公共靜態布爾WriteToEventLog(字符串消息,EventLogEntryType爲messageType) 我創造了我的方法如上在catch塊每次叫吧,現在我將要包括堆棧跟蹤爲好。 – Maraduarz

相關問題