B.48 TryCatchTask

This task is a wrapper task that lets you run tasks(s) when another set of tasks fails, mirroring PHP's try/catch functionality (with the addition of finally block)

The tasks inside of the try block will always be run. If one of them throws a BuildException, the following things can happen:

If a finally block is present, the nested tasks will be run regardless of whether the tasks in the try block have thrown an exception or not.

This task was inspired by http://ant-contrib.sourceforge.net/tasks/tasks/trycatch.html.

Table B.50: Attributes

NameTypeDescriptionDefaultRequired
propertyStringName of a property that will receive the message of the exception that has been caught (if any)n/aNo

B.48.1 Examples

<trycatch property="foo">
    <try>
        <fail>Tada!</fail>
    </try>

    <catch>
        <echo>In catch.</echo>
    </catch>

    <finally>
        <echo>In finally.</echo>
    </finally>
</trycatch>

<echo>As property: ${foo}</echo>