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

<throw>

指定された特定のフォールトをスローします。

構文

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

詳細

属性または要素 説明
fault 必須項目。フォールトの名前。この値には、リテラル文字列または評価対象となる式を指定できます。 0 ~ 255 文字の文字列。式の場合は、この属性が含まれる <process> 要素で指定されているスクリプト言語を使用する必要があります。
namedisabledxposyposxendyend 一般的な属性と要素” を参照してください。  
<annotation> 要素

説明

<throw> 文が実行されると、同じ <scope> 内にある <faulthandlers> ブロックに即座に制御が移り、<throw> 以降の途中の文はすべてスキップされます。次にプログラムは、<faulthandlers> ブロック内で、<throw> 文の fault 文字列式と value 属性が同じである <catch> ブロックを探します。この比較では大文字と小文字が区別されます。フォールト文字列を指定するときは、以下のように、1 組の引用符を余分に追加する必要があります

<throw fault='"thrown"'/>

フォールトと一致する <catch> ブロックが見つかった場合は、その <catch> ブロック内のコードを実行して、<scope> から抜けます。終わりの </scope> 要素の次の文から実行を再開します。

フォールトが発生し、フォールト文字列に一致する <catch> ブロックが <faulthandlers> ブロック内に存在しない場合は、<throw> 文から、<faulthandlers> 内の <catchall> ブロックに制御が移ります。<catchall> ブロック内のコードを実行した後で、<scope> から抜けます。終わりの </scope> 要素の次の文から実行を再開します。予期しないエラーを確実にキャッチするため、すべての <faulthandlers> ブロック内に <catchall> ブロックを配置することをお勧めします。

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

関連項目

<catch><catchall><compensate><compensationhandlers><faulthandlers><scope>.

FeedbackOpens in a new tab