我有一个 WPF 应用程序,它有一个 WindowsFormsHost,其中托管了第 3 方 WinForms 控件。有时,由于第 3 方 WinForms 控件中的错误,我得到一个NullReferenceException
.
虽然我已经设置了一个DispatcherUnhandledException
处理程序,但我无法在那里捕获异常并继续执行。
只有在AppDomain.CurrentDomain.UnhandledException
处理程序中我才能“捕捉”它,但从那时起我不能做太多事情,应用程序就会退出。
然后我发现了一个 stackoverflow 问题 (有一个答案;现在找不到),它说要尝试这样做:
System.Windows.Forms.Application.ThreadException += (sender, args) => { /* Catch it here */};
System.Windows.Forms.Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
这也无济于事,因为(内联)处理程序从未被调用过。
我走错路了吗?