我的應用程序是在WPF中構建的,但它包含了我們編寫的一些WinForms組件。當某個WinForms組件中的某個異常未處理時,它會使應用程序崩潰。處理WPF中Winforms組件的未處理異常
我爲WPF事件實施了DispatcherUnhandledException
。這很好,因爲它允許我顯示錯誤並將異常標記爲Handled以避免崩潰。
我可以對非WPF異常做類似的事情嗎?我希望標準的WinForms對話框出現並允許用戶繼續使用或完全使用應用程序?
編輯:WinForms異常會在DispatcherUnhandledException
中被捕獲,但將e.Handled設置爲true不會停止應用程序崩潰。
你能展示一些關於如何顯示/使用Windows窗體表單的代碼嗎? –
DispatcherUnhandledException應該捕獲UI線程中的任何未處理的異常。你的WinForms組件是否使用其他線程?還是你錯誤地從其他線程訪問它們? – svick
@DavidePiras它們位於WPF標記的WindowsFormsHost控件中。例如。 windowsFormsHost.Child = [WinForms控件實例] –