在ModelView中加载异步时如何处理异常?

时间:2015-08-18 16:55:29

标签: c# wpf mvvm mvvm-light

我正在使用MVVM Ligth。 ModelView的构造函数调用名为Load()的异步函数。此功能访问数据库和Web服务,需要时间和潜在的例外。 当在Load()线程中引发异常时,它不由主线程管理,因此用户无法在UI线程中显示错误消息。它丢失了。

管理这些方案的策略是什么?

我是否需要使用catch()并将错误消息放在UI中显示的属性中?

1 个答案:

答案 0 :(得分:0)

因为它是异步运行的,所以在引发异常的时候,主线程已经通过了那行代码而忽略了它。

您可以在Load()方法中放置try catch来捕获任何异常,然后使用Dispatch显示它。