在主應用程序線程中捕獲BackgroundWorker中發生異常的最佳方法是什麼?我在BackgroundWorker中處理密集的UPD操作,但是當發生異常時,我的主應用程序無法記錄發生了什麼。請推薦最佳做法。從BackgroundWorker異常轉發到主線程
感謝
在主應用程序線程中捕獲BackgroundWorker中發生異常的最佳方法是什麼?我在BackgroundWorker中處理密集的UPD操作,但是當發生異常時,我的主應用程序無法記錄發生了什麼。請推薦最佳做法。從BackgroundWorker異常轉發到主線程
感謝
您應該處理RunWorkerCompleted
事件,這將在你的主應用程序線程被解僱。
RunWorkerCompletedEventArgs.Error
將包含該異常,如果沒有異常則爲空。
它不這樣工作。首先RunWorkerCompleted不會在主線程上觸發。此外,如果您在工作線程中處理異常,您將無法在RunWorkerCompleted中獲得它,並且如果您在DoWork中未處理它,則您的應用程序將崩潰。