我使用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
我怎样才能抓到它?

最佳答案

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

09-11 12:34