我想知道如何优雅地处理由于db CRUD操作而可能出现的所有异常。
如果出现任何异常,可以捕获MongoException并分析出错的地方,可能是由于db server / network / time out问题。在Morphia的最新版本中,有一种方法可以捕获这些异常。
但是我需要有关下面每个操作可能出现的预期异常的信息,即知道操作是成功还是失败的最佳方式
- 获得/找到
- 合并
- 更新
- 删除
- 保存。
有人可以建议最好的方法来解决这个问题吗?我似乎总是坚持这个,因为文档的帮助。
谢谢:)
答案 0 :(得分:0)
有很多不同的方式可以让事情发生变化"当客户端应用程序与数据库通信时。试图准确地解决问题的复杂性以及如何处理这些错误将取决于应用程序的性质以及应用程序需要的强大程度。
在简单的情况下,如果您收到错误,可以再试一次。但是每次操作都不容易。如果您插入文档并收到错误,则无法确切地知道出了什么问题。因此,一个简单的解决方案是使用相同的密钥(_id)再次尝试插入。
有一篇很棒的博客文章更详细地描述了这一点:How To Write Resilient MongoDB Applications。