diff --git a/jOOQ/src/main/java/org/jooq/ExecuteContext.java b/jOOQ/src/main/java/org/jooq/ExecuteContext.java index fce2b4e7a8..027196aa6f 100644 --- a/jOOQ/src/main/java/org/jooq/ExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/ExecuteContext.java @@ -292,6 +292,9 @@ public interface ExecuteContext extends Scope { * {@link DataAccessException}. To have jOOQ throw your own custom * {@link RuntimeException}, use {@link #exception(RuntimeException)} * instead. This may have no effect, if called at the wrong moment. + *

+ * If null is being passed, jOOQ will internally translate the + * "unavailable" exception to an unspecified {@link DataAccessException}. */ void sqlException(SQLException e); diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index f064ada05b..d087bfe66e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -2425,8 +2425,10 @@ final class Tools { * Translate a {@link SQLException} to a {@link DataAccessException} */ static final DataAccessException translate(String sql, SQLException e) { - String message = "SQL [" + sql + "]; " + e.getMessage(); - return new DataAccessException(message, e); + if (e != null) + return new DataAccessException("SQL [" + sql + "]; " + e.getMessage(), e); + else + return new DataAccessException("SQL [" + sql + "]; Unspecified SQLException"); } /**