我使用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将数据库特定的异常转换为它自己的异常