【发布时间】:2015-02-16 13:41:16
【问题描述】:
我们在 WPF 应用程序 (MVVM) 中使用 MEF 来嵌入外部编辑器。在我们的主视图中,有一个内容元素将放置在其中。
现在我们想从该编辑器中捕获任何未处理的异常,然后重新加载该编辑器。我唯一发现的是使用Application 类中的DispatcherUnhandledException。从那里我必须以某种方式到达主视图编辑器并告诉它重新加载崩溃的编辑器。
我想知道是否有一个“较低”级别的点,我可以在哪里捕获异常?有没有人有这方面的经验并且可以在这里帮助他?
谢谢
【问题讨论】:
-
在启动编辑器的代码周围添加一个
try/catch块怎么样? -
编辑器没有“启动”,它通过 IOC 嵌入到 xaml 容器中。所以它基本上只是我们主窗口中的另一个控件,我不知道如何将它包装到 try/catch 块中
-
您也可以使用
AppDomain.UnhandledExceptionEvent 来捕获未处理的Exceptions,尽管这发生在应用程序关闭之前,所以我不认为该事件是对你也有用。 -
是的,我也发现了这一点,但由于它与
DispatcherUnhandledException几乎处于同一水平,它也无济于事:(
标签: c# wpf editor mef unhandled-exception