При написании Java-кода, использующего базу данных Oracle, всегда можно поймать SQLException
чтобы прочитать определенную ошибку Oracle с помощью e.getErrorCode()
. Например, ошибка 28001 означает истекший пароль, 28000 - заблокированная учетная запись, 1017 - неправильный пользователь/пароль и т.д.
Таким образом, я могу управлять разными ошибками соответствующим образом.
Но с базами данных PostgreSQL e.getErrorCode()
всегда возвращает 0, даже если поймать Postgres-специфическое PSQLException
.
Вопрос
Вы пробовали искать getSqlState() вместо этого? См. Также: http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html