ant-contrib的trycatch中“finally”元素的目的是什么?

时间:2014-03-01 04:28:53

标签: ant ant-contrib

我知道这个任务应该模仿传统编程语言中try / catch的结构,但我不能为我的生活提出一个<finally>实际上在Ant中有用的场景脚本。

例如:

<trycatch>
  <try>
    <copy file="foo.txt" todir="bar" />
  </try>
  <catch>
    <echo message="could not copy" />
  </catch>
  <finally>
    <echo message="all done" />
  </finally>
</trycatch>

...在功能上与:

相同
<trycatch>
  <try>
    <copy file="foo.txt" todir="bar" />
  </try>
  <catch>
    <echo message="could not copy" />
  </catch>
</trycatch>
<echo message="all done" />

在完成之后,Ant引擎将始终在trycatch块之后移动到下一行,那么包含在其结尾处执行的代码块的重点是什么?

供参考:http://ant-contrib.sourceforge.net/tasks/tasks/trycatch.html

1 个答案:

答案 0 :(得分:0)

在第一个片段中,无论catch块是否成功,都会打印“全部完成”。

在第二个代码段中,如果catch阻止功能不成功,则“所有已完成”将打印。

您的示例都显示了一个简单的catch块,其中包含一个简单的echo。考虑如果catch块包含可能实际失败的任务会发生什么......