不会被Application_DispatcherUnhandledException捕获的WPF MVVM Light异常

时间:2011-04-01 05:54:41

标签: mvvm-light

使用MVVM light工具包进行WPF应用程序。不知怎的,没有为View / ViewModel中抛出的任何异常调用Application_DispatcherUnhandledException方法。只有在加载第一个Window(由app.xaml作为启动窗口加载)本身加载异常时才会调用它....然后它就不会被击中.. 其他任何人都面临这个问题吗?

由于 Anshulee

2 个答案:

答案 0 :(得分:2)

听起来像UI线程上可能没有发生异常。我不确定框架在做什么。无论如何,检查一下: http://www.codeproject.com/Articles/90866/Unhandled-Exception-Handler-For-WPF-Applications.aspx 非UI线程将抛出您的方法本身无法捕获的异常 - 您可能也想要挂钩AppDomain。

答案 1 :(得分:0)

在MVVM Light中,UI线程中不会抛出视图模型中的异常。下面的代码在UI线程中引发异常

App.Current.RootVisual.Dispatcher.BeginInvoke(() => 
            { 
                throw new MyException("Exception occured."); 
            });

归功于本文http://codifying.wordpress.com/2010/12/20/silverlight-unhandled-exception-and-mvvm-light/