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( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access