diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/java/org/apache/fop/events/EventExceptionManager.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/events/EventExceptionManager.java b/src/java/org/apache/fop/events/EventExceptionManager.java index f6a115450..1072600c9 100644 --- a/src/java/org/apache/fop/events/EventExceptionManager.java +++ b/src/java/org/apache/fop/events/EventExceptionManager.java @@ -58,7 +58,21 @@ public class EventExceptionManager { } } else { String msg = EventFormatter.format(event); - throw new RuntimeException(msg); + //Get original exception as cause if it is given as one of the parameters + Throwable t = null; + Iterator iter = event.getParams().values().iterator(); + while (iter.hasNext()) { + Object o = iter.next(); + if (o instanceof Throwable) { + t = (Throwable)o; + break; + } + } + if (t != null) { + throw new RuntimeException(msg, t); + } else { + throw new RuntimeException(msg); + } } } |