Uygulamanızdaki build.xml dosyasında bulunan testleri ant veya phing komutlarıyla çalıştırırken oluşan hataları, aşağıda gösterildiği gibi trycatch bloğu içinde yakalayabilirsiniz.


Örnek


Eğer try bloğu içindeki composer işlemi hata ile sonuçlanırsa, bu hatayı catch bloğu içinde yakalıyoruz. Yakalama işleminden sonra, önce vendor klasörünün içeriğini temizliyoruz, daha sonra da composer komutunu tekrar çalıştırıyoruz. Bu işlem sadece bir kez gerçekleşiyor. Not: Gösteriş amacıyla örneğimizde fail bloğu ile kasten hataya sebebiyet veriyoruz.


<?xml version="1.0" encoding="UTF-8"?>
<project name="inanzzz" default="build" basedir=".">

<target name="build" depends="composer"/>

<target name="composer">
<trycatch>
<try>
<echo>Running composer install first time ...</echo>
<exec executable="composer" passthru="true" checkreturn="true">
<arg value="install"/>
</exec>
<autoloader autoloaderpath="vendor/autoload.php"/>

<fail>Throw exception on purpose</fail>
</try>

<catch>
<echo>Removing vendors ...</echo>
<delete includeemptydirs="true">
<fileset dir="vendor">
<include name="**/*" />
</fileset>
</delete>

<echo>Running composer install again ...</echo>
<exec executable="composer" passthru="true" checkreturn="true">
<arg value="install"/>
</exec>
<autoloader autoloaderpath="vendor/autoload.php"/>
</catch>
</trycatch>
</target>

</project>