Postgres JDBC: PSQLException 的特定错误代码?
Postgres JDBC: Especific error code of PSQLException?
在编写使用 Oracle 数据库的 java 代码时,总是可以捕获 SQLException
并使用 e.getErrorCode()
读取特定的 Oracle 错误。例如error 28001表示密码过期,28000表示账号被封,1017表示错误user/passsword等
这样我就可以以适当的方式管理不同的错误。
但是对于 PostgreSQL 数据库 e.getErrorCode()
总是 returns 0,即使在捕获特定于 Postgres 的 PSQLException
.
时也是如此
问题
- 有没有一种我不知道的方法可以在 Java 中获取 Postgres 数据库异常的特定错误代码,而不是 尝试解析错误消息(顺便说一句,可以使用任何本地化语言)?
您是否尝试查看 getSqlState() instead? See also: http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html
在编写使用 Oracle 数据库的 java 代码时,总是可以捕获 SQLException
并使用 e.getErrorCode()
读取特定的 Oracle 错误。例如error 28001表示密码过期,28000表示账号被封,1017表示错误user/passsword等
这样我就可以以适当的方式管理不同的错误。
但是对于 PostgreSQL 数据库 e.getErrorCode()
总是 returns 0,即使在捕获特定于 Postgres 的 PSQLException
.
问题
- 有没有一种我不知道的方法可以在 Java 中获取 Postgres 数据库异常的特定错误代码,而不是 尝试解析错误消息(顺便说一句,可以使用任何本地化语言)?
您是否尝试查看 getSqlState() instead? See also: http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html