O'Reilly logo

Ivor Horton's Beginning Java™ 2, JDK™ 5th Edition by Ivor Horton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

25.6. Handling Errors

In all of the examples that you've used so far in this chapter, I've glossed over the issue of errors, warnings, and exceptions. The examples up until this point have all been predicated on the hope that everything will work okay.

Unfortunately, life is a bit less predictable than that, and you need to take some extra steps in your JDBC applications to handle conditions that generate warnings or errors. In this section, you'll see how to build mechanisms to trap errors, how to use the extra facilities built into JDBC to get detailed warning and error information from the data source, and how to gracefully recover from JDBC exceptions. The first place where you get some extra help is from the SQLException class.

25.6.1. SQLException

Most of the examples that you've seen so far have just output the basic exception that is thrown when an error occurred:

try {
  //do JDBC stuff
} catch(SQLException sqle) {
  System.err.println(sqle);
}

This invokes the toString() method for the exception object and displays the result. Every method of every JDBC class and interface can throw an exception of type SQLException. Using the SQLException exception in this way is a pretty broad-brush approach to handling errors in JDBC, and it is certainly possible to do a little better.

To do useful things with the SQLException, you need to know that three important pieces of information are available from the exception object that is thrown. How you use these pieces of information depends ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required