Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

<faulthandlers>

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

Synopsis

<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