Debugging
So
far in this chapter, I’ve tried to build an awareness of those
things that can cause common problems when using JDBC with Oracle.
Now it’s time to become familiar with good programming
practices and with the features available to help debug your JDBC
programs. The first of these is handling a thrown
SQLException
.
Handling SQLExceptions
With
JDBC, error conditions are communicated via a thrown
SQLException
. Errors can originate in the database
or in your client application. Either way, they throw a
SQLException
. Therefore, it’s good
programming practice to always block each SQL operation with a
try-catch-finally
clause. In the
catch
clause you catch a
SQLException
. When a
SQLException
occurs, you have four methods
available to you to get further information about the error:
-
getMessage( )
Returns the error message associated with a
SQLException
. If the message originates in the database, it will be prefixed by ORA-XXXXX, in which XXXXX represents an Oracle error number. If an error originates from the JDBC driver, the error message returned bygetMessage( )
won’t have an ORA-XXXXX prefix.-
getErrorCode( )
Returns the five digits of an ORA-XXXXX number from the Oracle error whether the error occurred in your client application or the database.
-
getSQLState( )
Returns a five-digit SQL state code if the error originated from the database. Otherwise, this method returns null.
-
printStackTrace( )
Prints the current program stack to standard error.
Of these four methods, getMessage( ...
Get Java Programming with Oracle JDBC now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.