aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/documentation/content/xdocs/trunk/anttask.xml5
-rw-r--r--src/java/org/apache/fop/tools/anttasks/Fop.java24
2 files changed, 28 insertions, 1 deletions
diff --git a/src/documentation/content/xdocs/trunk/anttask.xml b/src/documentation/content/xdocs/trunk/anttask.xml
index 44550c3d7..7b07802b1 100644
--- a/src/documentation/content/xdocs/trunk/anttask.xml
+++ b/src/documentation/content/xdocs/trunk/anttask.xml
@@ -148,6 +148,11 @@
(<code>true</code>) or not (<code>false</code>). <strong>Currently doesn't work in FOP Trunk!!!</strong></td>
<td>No, default is <code>true</code></td>
</tr>
+ <tr>
+ <td>throwexceptions</td>
+ <td>Controls whether or not an exception is thrown if an error occurs during rendering.</strong></td>
+ <td>Default is <code>true</code></td>
+ </tr>
</table>
<p/>
<table><caption>Parameters specified as nested elements</caption>
diff --git a/src/java/org/apache/fop/tools/anttasks/Fop.java b/src/java/org/apache/fop/tools/anttasks/Fop.java
index 6f9b2fc34..0f28d70e7 100644
--- a/src/java/org/apache/fop/tools/anttasks/Fop.java
+++ b/src/java/org/apache/fop/tools/anttasks/Fop.java
@@ -77,6 +77,7 @@ public class Fop extends Task {
private boolean logFiles = true;
private boolean force = false;
private boolean relativebase = false;
+ private boolean throwExceptions = false;
/**
* Sets the filename for the userconfig.xml.
@@ -212,6 +213,24 @@ public class Fop extends Task {
}
/**
+ * Set whether exceptions are thrown.
+ * default is false.
+ *
+ * @param force true if always generate.
+ */
+ public void setThrowexceptions(boolean throwExceptions) {
+ this.throwExceptions = throwExceptions;
+ }
+
+ /**
+ * Gets the throw exceptions attribute
+ * @return the throw exceptions attribute
+ */
+ public boolean getThrowexceptions() {
+ return this.throwExceptions;
+ }
+
+ /**
* Sets the message level to be used while processing.
* @param messageLevel (error | warn| info | verbose | debug)
*/
@@ -558,7 +577,10 @@ class FOPTaskStarter {
inputHandler.renderTo(userAgent, outputFormat, out);
success = true;
} catch (Exception ex) {
- throw new BuildException(ex);
+ if (task.getThrowexceptions()) {
+ throw new BuildException(ex);
+ }
+ logger.error("Error rendering fo file: " + foFile, ex);
} finally {
try {
out.close();