2
我試圖記錄一個異常,當我的應用程序崩潰。儘管每隔一段時間我的應用程序崩潰都會捕獲大多數異常。我真的不知道如何將異常記錄到文本文件。無論我嘗試什麼都不起作用。林不知道我做錯了什麼,如果有人能指出我正確的方向,將不勝感激。記錄致命異常
這就是我的代碼目前的樣子。而我正在使用多線程環境。
public MainWindow()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
InitializeComponent();
}
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception)args.ExceptionObject;
using (StreamWriter writer = File.AppendText("ExceptionsLog.txt"))
{
DateTime time = DateTime.Now;
writer.WriteLine("Time {0} Exception: {1} Runtime termination: {2}", time, e.Message, args.IsTerminating);
}
}
這對我來說很合適。什麼不行?該方法是否被調用?還是不行? (注意:我建議將整個異常寫入日誌文件,而不僅僅是消息,所以將「e.Message」改爲「e」) –
不知何故文本文件是空的。我只是得到通常的MessageBox應用程序已停止工作,但沒有日誌:/ – Timo1995
如果你在MyHandler中放置一個斷點,它甚至到達那裏嗎?你能通過它看看會發生什麼嗎? –