2015-02-09 532 views
1

在編寫使用Oracle數據庫的java代碼時,總是可以用e.getErrorCode()捕獲SQLException讀取特定的Oracle錯誤。例如,錯誤28001意味着過期的密碼,28000被阻止的帳戶,1017是錯誤的用戶/密碼等。Postgres JDBC:PSQLException的特定錯誤代碼?

這樣我可以用適當的方式管理不同的錯誤。

但是使用PostgreSQL數據庫e.getErrorCode()總是返回0,即使在捕獲Postgres特定的PSQLException時也是如此。

問題

  • 有沒有辦法,我不知道獲得在Java 以外的Postgres數據庫異常的特定錯誤代碼比試圖解析錯誤消息(順便說一句可以用任何本地化的語言)?
+1

您是否嘗試過查看[getSqlState()](http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html#getSQLState--)?另見:http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html – cjstehno 2015-02-09 18:28:19

+0

剛發現,請寫一個答案來接受它。 – 2015-02-09 18:31:04

回答