aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/fop/events/EventExceptionManager.java16
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);
+ }
}
}