c# - WPF 应用程序的异常处理

标签 c# wpf exception

我有一个实质性的 WPF 应用程序设置如下: Views、ViewModels、Business Objects 和 Dals,带有 SQL Compact DB。 数据库调用是通过 Linq2Sql 进行的。 应用程序是单用户。 (每个用户一个数据库)。

假设在CRUD操作过程中,Dal内部发生了异常,或者用户删除了数据库,异常处理应该在哪里进行。

此外,如果出于某种原因在 View/ViewModel 中引发异常,我不希望系统崩溃。我该如何处理。我是否应该只通知用户发生错误并重新创建 View/ViewModel 以便用户可以继续。 ViewModel 仅通过 Messenging 与其他 ViewModel 通信(例如,需要刷新某些内容)。

最佳答案

最简单的答案是,这实际上取决于应用程序的具体要求。

详细信息:首先,您应该在有可能出现异常情况的情况下进行异常处理。在执行 CRUD 操作时,在 View 模型中执行某些操作时,甚至在创建 View 时。用户肯定不希望应用程序崩溃。所以最好的办法是处理异常,自定义错误消息,以便它对用户有意义并将其显示给用户,以便他/她知道发生了错误。还询问用户现在要做什么(这实际上再次取决于应用程序要求)但是例如,如果数据库文件已被删除询问用户是否要创建一个新的或类似的东西

关于c# - WPF 应用程序的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6321532/

相关文章:

java - 为什么构造函数处理异常但我在使用它时得到 "not handled exception error"

c# - 未经验证的 MVC 自定义模型注释

c# - 如何使用 CsvHelper 将选定的类字段写入 CSV?

c# - 需要创建一个事件处理程序,可以在事件发生时自行删除

.net - 在WPF世界中有6个月没有使用过的混合物,我应该使用它吗?

java.util.AbstractList$Itr.checkForCommodification 三重事件

python - 如何在 Python 中打印异常?

c# - 以编程方式创建 GroupBox 并在其中添加标签

C# 选择累加器不工作的重载方法

c# - 动画 WPF 菜单