From: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
---|---|
To: | Ryan Daniels <ryan(dot)daniels(at)gmail(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: PSQLException - How to Identify Type? |
Date: | 2008-10-15 07:09:13 |
Message-ID: | 48F59719.8040801@postnewspapers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Ryan Daniels wrote:
>
> Hello,
>
> When I get a PSQLException, how do I identify which type it is? I need
> to be able to distinguish which error occurred.
Have a look at the JDBC documentation, in particular the documentation
for SQLException.
http://java.sun.com/javase/6/docs/api/java/sql/SQLException.html
Note the getErrorCode() and getSQLState() members?
The error code is usually quite sufficient for program flow control and
error handling decisions. See the PostgreSQL error code documentation:
http://www.postgresql.org/docs/current/static/errcodes-appendix.html
Note that you can match error codes by class (the first byte) as well as
by exact error code. As a result, you can easily do things like "Retry
the transaction on all possibly tansient errors" in quite a generic way.
The documentation for PSQLException shows you how to get information
from it, too:
http://jdbc.postgresql.org/development/privateapi/org/postgresql/util/PSQLException.html
it provdes getServerErrorMessage(), which returns about as much as you'd
ever want to know:
http://jdbc.postgresql.org/development/privateapi/org/postgresql/util/ServerErrorMessage.html
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | mark_addleman | 2008-10-15 23:14:07 | Re: COPY support in JDBC driver? |
Previous Message | Ryan Daniels | 2008-10-15 05:01:12 | PSQLException - How to Identify Type? |