From 6d482ab35ebd4dc7e2a2dd62bc77a4befa8d169b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 6 May 2014 12:22:55 +0200 Subject: [PATCH] [#3234] Handle also RuntimeExceptions --- jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java | 5 +++++ jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java | 7 ++++++- jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java | 5 +++++ jOOQ/src/main/java/org/jooq/impl/BatchSingle.java | 5 +++++ jOOQ/src/main/java/org/jooq/impl/CursorImpl.java | 5 +++++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java index 36e343bd90..843a5afa35 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractQuery.java @@ -331,6 +331,11 @@ abstract class AbstractQuery extends AbstractQueryPart implements Query, Attacha result = execute(ctx, listener); return result; } + catch (RuntimeException e) { + ctx.exception(e); + listener.exception(ctx); + throw ctx.exception(); + } catch (SQLException e) { ctx.sqlException(e); listener.exception(ctx); diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java index 2b836a22ba..6edaa36bc0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java @@ -303,6 +303,11 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro fetchOutParameters(ctx); return 0; } + catch (RuntimeException e) { + ctx.exception(e); + listener.exception(ctx); + throw ctx.exception(); + } catch (SQLException e) { ctx.sqlException(e); listener.exception(ctx); @@ -325,7 +330,7 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro consumeExceptions(ctx.configuration(), ctx.statement(), e); throw e; } - + finally { consumeWarnings(ctx, listener); } diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java b/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java index 7e0c52d525..3a0a37fcb2 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java @@ -113,6 +113,11 @@ class BatchMultiple implements Batch { consumeWarnings(ctx, listener); } } + catch (RuntimeException e) { + ctx.exception(e); + listener.exception(ctx); + throw ctx.exception(); + } catch (SQLException e) { ctx.sqlException(e); listener.exception(ctx); diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java index 80d3e03550..87f164dad7 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java @@ -166,6 +166,11 @@ class BatchSingle implements BatchBindStep { consumeWarnings(ctx, listener); } } + catch (RuntimeException e) { + ctx.exception(e); + listener.exception(ctx); + throw ctx.exception(); + } catch (SQLException e) { ctx.sqlException(e); listener.exception(ctx); diff --git a/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java b/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java index 3995f1bba4..c4c5b0a170 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CursorImpl.java @@ -1415,6 +1415,11 @@ class CursorImpl implements Cursor { rows++; } } + catch (RuntimeException e) { + ctx.exception(e); + listener.exception(ctx); + throw ctx.exception(); + } catch (SQLException e) { ctx.sqlException(e); listener.exception(ctx);