Spring JDBCTemplate异常

3

我使用Spring的JDBCTemplate,当出现问题时,我应该捕获DataAccessException,但实际上我遇到了一个无法在块中捕获的org.postgresql.util.PSQLException,编译器告诉我:

在块中永远不会抛出PSQLException异常

 @Transactional(propagation = Propagation.MANDATORY)
 public List<Exe_Resultat> getResultats(Long executionId) {
    try {
        String SQL = "SELECT * FROM " + pojoClasse.getSimpleName() + "WHERE execution_id = ?";

        return jdbcTemplate.query(SQL, new Object[]{executionId}, this.getRowMapper());
    }
    //I actually get a PSQLException and not a DataAccesException
    catch (DataAccessException e) {
        //Do a thing
    }
}

但是在执行我的代码时,实际上我遇到了一个 PSQLException。我该如何捕获它?

将“DataAccessException”更改为“PSQLException”。这是您的意思吗? - bmarkham
你是如何初始化 JdbcTemplate 的?显然异常转换被关闭了。 - Ali Dehghani
你遇到了哪个异常?请发布异常的堆栈跟踪。 - M. Deinum
1个回答

0

Spring将数据库特定的异常转换为自己的异常


我有点晚发帖,但我也遇到了同样的问题。我不理解这个被接受的答案。你能告诉我这是什么意思吗?还有要捕获哪个异常? - Ritesh Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接