我想知道如何优雅地处理由于数据库 CRUD 操作而可能出现的所有异常。如果出现任何异常,可以捕获并分析MongoException出了什么问题,这可能是由于数据库服务器/网络/超时问题。在最新版本的 Morphia 中,有一种方法可以捕获这些异常。 但是我需要有关以下每个操作可能出现的预期异常的信息,即了解操作是成功还是失败的最佳方法。
- 获取/查找
-合并
-更新
-删除
-救。
有人可以建议处理此问题的最佳方法吗?我似乎对此感到困惑,因为文档没有帮助。
谢谢:)
当客户端应用程序与数据库通信时,有很多不同的方式可以"中断"。尝试准确理清问题的复杂性,以及您希望如何处理这些错误实际上取决于应用程序的性质以及应用程序需要的健壮程度。
在简单的情况下,如果您遇到错误,可以重试。但并非每次操作都那么容易。如果您插入文档并返回错误,则无法确定到底出了什么问题。因此,一个简单的解决方案是使用相同的键(_id(再次尝试插入。
有一篇很棒的博客文章更详细地描述了这一点:如何编写弹性MongoDB应用程序。