【发布时间】:2016-05-19 23:31:26
【问题描述】:
我在 Java 中收到一个带有消息的 org.jooq.exception.DataAccessException
错误:由于事务之间的读/写依赖关系,无法序列化访问 详细信息:原因代码:在检查冲突期间,在识别为枢轴时取消。 提示:重试交易可能会成功。
我想检查数据访问异常的错误代码,这是幕后的 Postgres 数据库。例如序列化失败异常错误码为40001。
如何检查 org.jooq.exception.DataAccessException 的错误代码?
如果序列化失败,我的动机是重试事务。
【问题讨论】:
-
你可以试试
.getCause();通常原因是潜在的异常,如果幸运的话,这将是您的 PostgreSQL 特定异常。但是请注意,这会使您的代码不可移植... -
@fge:SQL 状态不是 PostgreSQL 特定的,they're specified in the SQL standard...
-
@LukasEder 啊,很好,我不知道...
-
是的。事实上,人们经常将 SQL 标准 SQL 状态 (
SQLException#getSQLState()) 与供应商特定错误代码 (SQLException#getErrorCode()) 混淆
标签: java postgresql exception jooq