【发布时间】:2016-04-26 07:40:18
【问题描述】:
我使用 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。这是你的意思吗? -
你是如何初始化
JdbcTemplate的?显然异常翻译已关闭.. -
你得到了哪个异常...发布异常的堆栈跟踪。
标签: java spring exception jdbctemplate