|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tools.ant.ProjectComponent org.apache.tools.ant.Task net.sf.antcontrib.logic.TryCatchTask
public class TryCatchTask
A wrapper that lets you run a set of tasks and optionally run a different set of tasks if the first set fails and yet another set after the first one has finished.
This mirrors Java's try/catch/finally.
The tasks inside of the required <try>
element will be run. If one of them should throw a BuildException
several things
can happen:
<catch>
block, the
exception will be passed through to Ant.<catch>
block, the tasks
nested into it will be run.If a <finally>
block is present, the task
nested into it will be run, no matter whether the first tasks have
thrown an exception or not.
Attributes:
Name | Description | Required |
property | Name of a property that will receive the message of the exception that has been caught (if any) | No |
reference | Id of a reference that will point to the exception object that has been caught (if any) | No |
Use the following task to define the <trycatch>
task before you use it the first time:
<taskdef name="trycatch"
classname="net.sf.antcontrib.logic.TryCatchTask" />
<trycatch property="foo" reference="bar">
<try>
<fail>Tada!</fail>
</try>
<catch>
<echo>In <catch>.</echo>
</catch>
<finally>
<echo>In <finally>.</echo>
</finally>
</trycatch>
<echo>As property: ${foo}</echo>
<property name="baz" refid="bar" />
<echo>From reference: ${baz}</echo>
results in
[trycatch] Caught exception: Tada!
[echo] In <catch>.
[echo] In <finally>.
[echo] As property: Tada!
[echo] From reference: Tada!
Nested Class Summary | |
---|---|
static class |
TryCatchTask.CatchBlock
|
Field Summary |
---|
Fields inherited from class org.apache.tools.ant.Task |
---|
description, location, target, taskName, taskType, wrapper |
Fields inherited from class org.apache.tools.ant.ProjectComponent |
---|
project |
Constructor Summary | |
---|---|
TryCatchTask()
|
Method Summary | |
---|---|
void |
addCatch(TryCatchTask.CatchBlock cb)
|
void |
addFinally(org.apache.tools.ant.taskdefs.Sequential seq)
Adds a nested <finally> block - at most one is allowed. |
void |
addTry(org.apache.tools.ant.taskdefs.Sequential seq)
Adds a nested <try> block - one is required, more is forbidden. |
void |
execute()
The heart of the task. |
void |
setProperty(java.lang.String p)
Sets the property attribute. |
void |
setReference(java.lang.String r)
Sets the reference attribute. |
Methods inherited from class org.apache.tools.ant.Task |
---|
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType |
Methods inherited from class org.apache.tools.ant.ProjectComponent |
---|
getProject, setProject |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TryCatchTask()
Method Detail |
---|
public void addTry(org.apache.tools.ant.taskdefs.Sequential seq) throws org.apache.tools.ant.BuildException
org.apache.tools.ant.BuildException
public void addCatch(TryCatchTask.CatchBlock cb)
public void addFinally(org.apache.tools.ant.taskdefs.Sequential seq) throws org.apache.tools.ant.BuildException
org.apache.tools.ant.BuildException
public void setProperty(java.lang.String p)
public void setReference(java.lang.String r)
public void execute() throws org.apache.tools.ant.BuildException
execute
in class org.apache.tools.ant.Task
org.apache.tools.ant.BuildException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |