Jef*_*f G 5 postgresql jdbc java-8 postgresql-9.5
是JDBC驱动程序随附的PostgreSQL错误代码的枚举,还是我们必须自己创建该枚举?在JDBC文档中找不到关于错误代码的任何信息。
开始编辑
为了澄清我在寻找什么,这是我现有的代码:
catch (final SQLException e) {
if ("23514".equals(e.getSQLState())) {
// check_violation
}
}
Run Code Online (Sandbox Code Playgroud)
我觉得大多数程序员都会在那条线上引起人们的注意,因为它既不能自我记录也不能重复使用。每次开发人员需要确定异常原因时,都会被迫在线查找错误代码,并将魔术数字硬编码为条件代码。相反,我更喜欢编写如下代码:
catch (final SQLException e) {
if (PGErrors.check_violation.equals(e.getSQLState())) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
这样的枚举PostgreSQL错误代码的类是否已经存在?
这样的枚举PostgreSQL错误代码的类是否已经存在?
是的,它可以:org.postgresql.util.PSQLState
但是,在您引用的页面上列出了238个错误代码,并且org.postgresql.util.PSQLState
仅枚举41个值。在这41个值中,只有33个来自该PostgreSQL错误代码列表(大约14%的覆盖率)。
如果需要任何其他常量,则必须自己枚举这些常量。
归档时间: |
|
查看次数: |
1280 次 |
最近记录: |