db特定错误代码的更改频率

时间:2015-12-17 13:34:17

标签: java mysql database oracle postgresql

当数据库返回唯一键冲突异常时,我需要抛出特定的异常。为此,我使用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);
        }
    }

1 个答案:

答案 0 :(得分:1)

Oracle - 错误代码永远不会改变。对此没有书面保证,但错误代码为http://www.w3.org/TR/html401/interact/forms.html。我从未见过一个变化,Oracle肯定知道更改错误代码将是灾难性的。

PostgreSQL - 上述答案(适用于Oracle)也适用于PostgreSQL。可以在thoroughly documented中找到以下声明:

  

需要知道发生了哪种错误情况的应用程序   通常应该测试错误代码,而不是查看文本   错误信息。错误代码不太可能改变   PostgreSQL发布,也不会因此而发生变化   错误消息的本地化。

MySQL - ?

相关问题