Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

<faulthandlers>

フォールトおよびシステム・エラーをキャッチする、ゼロ個以上の <catch> と 1 つの <catchall> 要素が含まれます。

構文

<scope>
   <throw fault='"MyFault"'/>
         ... 
     <faulthandlers>  
        <catch fault='"MyFault"'>
           ...
        </catch>
        <catch fault='"OtherFault"'>
           ...
        </catch>
        <catchall>
           ...
        </catchall>
   </faulthandlers> 
</scope>

詳細

属性または要素 説明
namedisabledxposyposxendyend 属性 一般的な属性と要素” を参照してください。
<catch> 要素 <faulthandlers> 内にはゼロ個以上の <catch> 要素を配置できます。それぞれ、<throw> 要素によって生成された特定のフォールトをキャッチします。
<catchall> 要素 <catch> に合致しないフォールトやシステム・エラーをキャッチします。<faulthandlers> 内に <catch> 要素がない場合は、<catchall> を含める必要があります。それ以外の場合、<catchall> はオプションです。

説明

エラー処理に対応するため、BPL には <scope> と呼ばれる要素があります。スコープは一連のアクティビティのラッパです。このスコープには、1 つ以上のアクティビティ、1 つ以上のフォールト・ハンドラ、ゼロ個以上の補償ハンドラを含めることができます。<faulthandlers> 要素の目的は、<scope> 内のアクティビティが生成するエラーをキャッチすることです。<faulthandlers> 内の <catch> 要素と <catchall> 要素では、<compensate> 文を使用して、キャッチしたエラーを補償する <compensationhandler> 要素を呼び出すことができます。

<scope> 内に <faulthandlers> ブロックがない場合は、システム・エラーがイベント・ログに自動的に出力されます。<scope> に <faulthandlers> ブロックが含まれている場合は、<trace> メッセージをイベント・ログに出力し、システム・エラー・メッセージがイベント・ログに表示されるようにする必要があります。いずれの場合も、システム・エラー・メッセージがターミナル・コンソールに表示されます。

詳細は、"BPL プロセスの開発" の “BPL のエラー処理” を参照してください。

Note:

<compensationhandlers> と <faulthandlers> の順序を逆にすることはできません。これら両方のブロックを記述する場合は、最初に <compensationhandlers>、次に <faulthandlers> を配置する必要があります。

関連項目

<catch><catchall><compensate><compensationhandlers><scope><throw>

FeedbackOpens in a new tab