好的 - 所以我有一个旧版 MC++ 应用程序,它调用 WPF 视图,就像它们是对话框一样。我有一个抽象的 ViewModel 父类。有没有一种方法可以将 UnhandledException 处理添加到我的 ViewModel 中,以便在传播到 MC++ 应用程序之前可以在那里处理 ViewModel 或其子实现中引发的任何异常?
我真的没有可以使用的架构框架。到目前为止实现的所有 ViewModel 和 View 都是一次性的 :(
好的 - 所以我有一个旧版 MC++ 应用程序,它调用 WPF 视图,就像它们是对话框一样。我有一个抽象的 ViewModel 父类。有没有一种方法可以将 UnhandledException 处理添加到我的 ViewModel 中,以便在传播到 MC++ 应用程序之前可以在那里处理 ViewModel 或其子实现中引发的任何异常?
我真的没有可以使用的架构框架。到目前为止实现的所有 ViewModel 和 View 都是一次性的 :(
您应该能够将异常处理添加到打开并将视图显示为对话框的方法(即:包装Window.ShowDialog()
调用)。这应该捕获从您的视图或视图模型中抛出的任何异常,因为它们都是从那时开始“启动”的。
如果您有权访问 a Dispatcher
,则可以绑定到Dispatcher.UnhandledException
事件中,否则您可以绑定到AppDomain.UnhandledException
事件中:
Dispatcher.CurrentDispatcher.UnhandledException += HandleDispatcherException;
someDispatcher.UnhandledException += HandleDispatcherException;
AppDomain.CurrentDomain.UnhandledException += HandleAppDomainException;