# Refined subclasses of SQLException

Attention: Derby Version 10.2 includes JDBC 4.0 functionality based on a pre-release of Java SE 6. When you use Derby with a Java SE 6 virtual machine, Derby will use its JDBC 3.0 drivers, just as with 1.4 and 1.5 virtual machines. JDBC 4.0 is available only to developers who download Java SE 6 and use it to build in support for JDBC 4.0. The Release Notes explain how to build the JDBC 4.0 functionality with Derby Version 10.2. A follow-on Derby release will include JDBC 4.0 functionality based on the final JDBC 4.0 specification once Java SE 6 becomes generally available.

If your application runs on JDK 1.6 or higher, exceptions raised by Derby will generally be one of the refined subclasses of SQLException, introduced by JDBC 4.0. These refined exceptions are raised under the conditions described by their respective javadoc.

- java.sql.SQLClientInfoException
- java.sql.SQLDataException
- java.sql.SQLFeatureNotSupportedException
- java.sql.SQLIntegrityConstraintViolationException
- java.sql.SQLInvalidAuthorizationSpecException
- java.sql.SQLSyntaxErrorException
- java.sql.SQLTransactionRollbackException
- java.sql.SQLTransientConnectionException

Parent topic: JDBC 4.0-only features
Related reference
java.sql.Connection
java.sql.DatabaseMetaData
java.sql.Statement
javax.sql.DataSource