保存期间的Spring Data MongoTemplate异常

时间:2016-03-13 21:12:46

标签: java spring mongodb exception

我有以下代码使用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中处理吗?

由于 拉姆

2 个答案:

答案 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的泛型子类。