XML スキーマには、エラー処理用の一連の要素があります。この一連の要素の親は <try> 要素です。これらの要素は、次のような場合に使用できます。
配備時にエラーを抑制する場合。たとえば、コンポーネントのインストール時にファイルまたはその他のリソースを配備してから再起動する場合、再起動が失敗したときにインストール自体は失敗しません。
別のステップに依存するステップを実行するかどうかを制御する場合。たとえば、useradd と groupadd の両方の機能を実行する場合、groupadd は useradd が正常に終了した場合にのみ実行します。
インストールパスを指定する場合。たとえば、アプリケーションの version 1.1 をインストールする場合、ターゲットホストにそのアプリケーションの version 1.0 があるかどうかによってインストールパスが異なります。
<try> 要素には、ステップのブロックを含めます。これらの手順は、すべてが正常に完了するまで、または 1 つのステップが失敗するまで順番に実行されます。ステップが失敗し、<catch> 要素があった場合、<catch> 要素のステップが、すべて正常に完了するまで、または 1 つのステップが失敗するまで順番に実行されます。<finally> 要素が定義されている場合は、<finally> 要素のステップが、すべて正常に完了するまで、または 1 つのステップが失敗するまで順番に実行されます。これは、<try> 要素と <catch> 要素が正常に完了したかどうかに関係ありません。一般に、<finally> 要素は、クリーンアップ機能の実行やリソースの解放のために使用します。
<raise> 要素は、専用のステップを作成せずに障害の状態を指定するために使用します。<raise> ステップは必ず失敗します。<raise> 要素は単独で使用できますが、通常は <catch> 要素のブロック内で使用します。
次の XML の例では、<try> 要素を使用して、初期インストールを実行するか、アップグレードインストールを実行するかを決定しています。
<installSteps blockName="default">
<try>
<block>
<checkDependency>
<installedComponent name="foo" version="1.0" />
</checkDependency>
</block>
<catch>
<raise message="Required component foo is not installed on this system"/>
</catch>
</try>
</installSteps>