【问题标题】:Exception Handling in MVVMLightMVVMLight 中的异常处理
【发布时间】:2011-03-03 06:42:14
【问题描述】:

我们将 MVVMLight 与 WPF 一起使用。我们的视图和视图模型驻留在不同的项目中。 Views 中发生的所有未处理异常都可以通过 app.xaml.cs 文件处理,但我们还希望通过提供一些集中的异常处理机制而不是在每个函数中编写 try..catch 来捕获 ViewModel 中未处理的异常。请就我们如何实现上述目标提出建议。 谢谢

【问题讨论】:

    标签: wpf mvvm views mvvm-light


    【解决方案1】:

    来自 ViewModel 的未处理异常也可以在 App.xaml.cs 中处理。应该没有太大区别。 App.xaml.cs 是整个应用程序的中心点,您可以在其中处理所有未处理的异常。

    侧节点:出于这个和其他原因,我不建议您将 ViewModel 和 View 拆分为不同的程序集。请参阅我的帖子 here 描述原因。

    【讨论】:

    • 感谢 Pavlo,感谢您的 cmets。由于某些原因,我们将应用程序划分为不同的项目,例如视图和视图模型。我不确定如何处理来自 app.xaml.cs 的 ViewModels 项目中引发的异常,该异常位于另一个项目中,即 Views。你能指出一些方法吗?
    • @Anil - 在您的 ViewModel 类中发生的所有异常最终都会到达 App.xaml.cs 中的异常处理程序(您需要注册 DispatcherUnhandledException 处理程序和 AppDomain.CurrentDomain.UnhandledException 处理程序)。跨度>
    • @Anil - 如果我的帖子回答了您的问题,请单击帖子左侧的复选框将其标记为答案。如果它有用,你也可以点赞。
    猜你喜欢
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多