【发布时间】:2016-03-23 23:59:24
【问题描述】:
当数据库返回唯一键冲突异常时,我需要抛出特定异常。为此,我使用 getSQLState() 和 getErrorCode() 来识别何时违反唯一键约束。
我想知道供应商特定的错误代码和 SQL 状态是否以及多久更改一次
如果我使用 sqle.getErrorCode() 和 sqle.getSQLState() 来识别异常类型,我需要多久更改一次代码。
我正在测试的数据库是 Postgres、Oracle 和 MySQL。代码看起来有点像这样
catch (SQLException sqle) {
if(sqle.getSQLState().equals(someSQLState) && sqle.getErrorCode() == someErrorCode) {
throw new SomeException(SomeParameters);
}
}
【问题讨论】:
-
您必须询问各个供应商,但唯一明智的答案肯定是“从不”。
标签: java mysql database oracle postgresql