我有一个实质性的 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/