我有以下代码使用Spring数据从我的Java应用程序执行保存到Mongo。 如何处理保存期间可能发生的异常?我的这个DAO方法是从ServiceImpl类调用的。
public void saveDraftNote(Note draftNote) {
try {
mongoTemplate.save(draftNote);
} catch (Exception e) {
// TODO Error handling
}
}
我应该抓住异常吗?或者捕获特定的例外? 我怎样才能将它传递给我的ServiceImpl?我可以将DAO exceptiosn包装到自定义的ServiceException中以便在我的ServiceImpl中处理吗?
由于 拉姆
答案 0 :(得分:0)
您无需在此处理异常。如果您担心的是您的记录已成功保存或未使用WriteResult
在你的情况下
public void saveDraftNote(Note draftNote) {
WriteResult result = mongoTemplate.save(draftNote);
}
将结果返回到您可以使用
轻松验证的业务层if (reult.getN() != 1)
//throw your exception...
答案 1 :(得分:0)
我有一个类似的问题,最后我深入挖掘了MongoTemplate代码。最重要的是,这些方法可以抛出RunTimeException的各种子类。从我所看到的,没有目的试图确定哪些。我首选的模式是捕获异常,记录异常,并抛出RuntimeException的泛型子类。