summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormattinger <[email protected]>2006-07-07 14:57:32 +0000
committermattinger <[email protected]>2006-07-07 14:57:32 +0000
commit58de8bb90188da78429eb0a30bd075430e0295c7 (patch)
tree63ce74ec7e7ee099123a4fe8ae9a8960f67eee29 /src
parent855b913e7c3bf4b662beb1f97ac4980270330042 (diff)
Fixing executing of trycatch
git-svn-id: file:///home/sven/projects/JOGL/temp/ant-contrib/svn/ant-contrib-code/trunk/ant-contrib@9 32d7a393-a5a9-423c-abd3-5d954feb1f2f
Diffstat (limited to 'src')
-rw-r--r--src/java/net/sf/antcontrib/logic/TryCatchTask.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/java/net/sf/antcontrib/logic/TryCatchTask.java b/src/java/net/sf/antcontrib/logic/TryCatchTask.java
index 4933e7d..11d31bf 100644
--- a/src/java/net/sf/antcontrib/logic/TryCatchTask.java
+++ b/src/java/net/sf/antcontrib/logic/TryCatchTask.java
@@ -197,6 +197,8 @@ public class TryCatchTask extends Task {
* The heart of the task.
*/
public void execute() throws BuildException {
+ Throwable thrown = null;
+
if (tryTasks == null) {
throw new BuildException("A nested <try> element is required");
}
@@ -222,11 +224,19 @@ public class TryCatchTask extends Task {
CatchBlock cb = (CatchBlock)blocks.nextElement();
executed = cb.execute(e);
}
+
+ if (! executed) {
+ thrown = e;
+ }
} finally {
if (finallyTasks != null) {
finallyTasks.perform();
}
}
+
+ if (thrown != null) {
+ throw new BuildException(thrown);
+ }
}
}