From 0dc27d71028caf42371907efac0b708d32e7e29b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 24 Sep 2020 16:42:31 +0200 Subject: [PATCH] [jOOQ/jOOQ#10686] ConnectionRunnable and ConnectionCallable should accept throwing Throwable --- .../main/java/org/jooq/ConnectionCallable.java | 4 ++-- .../main/java/org/jooq/ConnectionRunnable.java | 4 ++-- .../java/org/jooq/impl/DefaultDSLContext.java | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/ConnectionCallable.java b/jOOQ/src/main/java/org/jooq/ConnectionCallable.java index 507b5878ea..e38a162723 100644 --- a/jOOQ/src/main/java/org/jooq/ConnectionCallable.java +++ b/jOOQ/src/main/java/org/jooq/ConnectionCallable.java @@ -66,9 +66,9 @@ public interface ConnectionCallable { * * @param connection The connection. * @return The outcome of the callable. - * @throws Exception Any exception, including {@link SQLException}, that + * @throws Throwable Any exception, including {@link SQLException}, that * will be propagated as an unchecked * {@link DataAccessException}. */ - T run(Connection connection) throws Exception; + T run(Connection connection) throws Throwable; } diff --git a/jOOQ/src/main/java/org/jooq/ConnectionRunnable.java b/jOOQ/src/main/java/org/jooq/ConnectionRunnable.java index cd97757833..7469c5c4e8 100644 --- a/jOOQ/src/main/java/org/jooq/ConnectionRunnable.java +++ b/jOOQ/src/main/java/org/jooq/ConnectionRunnable.java @@ -65,9 +65,9 @@ public interface ConnectionRunnable { * this {@link ConnectionRunnable}. * * @param connection The connection. - * @throws Exception Any exception, including {@link SQLException}, that + * @throws Throwable Any exception, including {@link SQLException}, that * will be propagated as an unchecked * {@link DataAccessException}. */ - void run(Connection connection) throws Exception; + void run(Connection connection) throws Throwable; } diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 714bc44bda..1ba6bef6ab 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -660,11 +660,14 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri try { return callable.run(connection); } + catch (Error e) { + throw e; + } catch (RuntimeException e) { throw e; } - catch (Exception e) { - throw new DataAccessException("Error while running ConnectionCallable", e); + catch (Throwable t) { + throw new DataAccessException("Error while running ConnectionCallable", t); } finally { configuration().connectionProvider().release(connection); @@ -675,7 +678,7 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri public void connection(final ConnectionRunnable runnable) { connectionResult(new ConnectionCallable() { @Override - public Void run(Connection connection) throws Exception { + public Void run(Connection connection) throws Throwable { runnable.run(connection); return null; } @@ -2820,6 +2823,12 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri try { return callable.run(c); } + catch (Error e) { + throw e; + } + catch (RuntimeException e) { + throw e; + } catch (Throwable t) { throw new DataAccessException("Error while running BatchedCallable", t); }