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");
}
/**