我使用SimpleJdbcTemplate
连接数据库。在哪里我可以找到所有异常以及何时被抛出?我只知道几个例子:
org.springframework.jdbc.BadSqlGrammarException
当SQL查询语法错误时,会出现。但是我需要知道更多例如当数据库无法访问或存在锁等时抛出的异常。
答案 0 :(得分:2)
看看the API of SimpleJdbcTempate
。我发现了这个例外:
有这些已知的子类:
NonTransientDataAccessException
:
CleanupFailureDataAccessException
DataIntegrityViolationException
DataRetrievalFailureException
DataSourceLookupFailureException
InvalidDataAccessApiUsageException
InvalidDataAccessResourceUsageException
NonTransientDataAccessResourceException
PermissionDeniedDataAccessException
UncategorizedDataAccessException
RecoverableDataAccessException
TransientDataAccessException
:
ConcurrencyFailureException
QueryTimeoutException
TransientDataAccessResourceException
也请阅读Spring指南中的documentation on JdbcTemplate
。
答案 1 :(得分:0)
一般而言,您正在寻找DataAccessException
的所有子类,从TransientDataAccessException
,NonTransientDataAccessException
和RecoverableDataAccessException开始。继续寻找子类。
有很多这样的例外,您必须阅读JavaDocs以了解它们何时被抛出。 Spring在将特定于数据库的异常转换为标准层次结构方面做得非常好。
答案 2 :(得分:0)
参考Spring API
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/
几个例外清单......
BadSqlGrammarException
CannotGetJdbcConnectionException
IncorrectResultSetColumnCountException
InvalidResultSetAccessException
JdbcUpdateAffectedIncorrectNumberOfRowsException
LobRetrievalFailureException
SQLWarningException
UncategorizedSQLException
答案 3 :(得分:0)
您将在JavaDoc中找到框架的这些详细信息。 Here是3.0.x文档。如果你查看org.springframework.jdbc包,你会发现列出了几个例外。