Catch

LANSA Composer

Catch


1つまたは複数のCatch処理命令はアクティビティ、変換マップ、または処理シーケンス命令の後に入れることができます。それぞれのアクティビティ、変換マップまたは処理シーケンス命令ごとに、1つのCatchブロックまたは複数のCatchブロック(指定されている場合)から最大1つだけが実行されます。実行されるブロックは、アクティビティ、変換マップ、または処理シーケンス命令の結果コードに一致する最初のブロックになります。

それぞれのCatch命令には子項目があり、Catch項目がアクティブになると実行されます。Catchブロックがアクティブになると、あらゆるエラーの状態が扱われ、アクティビティのCatchブロックは処理シーケンスがそのエラーによって終了しないようにします。もし処理シーケンスを確実に(エラーがあってもなくても)終了させたい場合は、CatchブロックにTerminate命令を入れます。

Catch命令に、以下のような詳細を指定できます。

[結果コード]

Catch命令をアクティブにする条件を指定します。[エラー]を選択すると、アクティビティの戻り値がエラーを示す場合('ER')に、CATCH命令がアクティブになります。[OK]を選択すると、アクティビティがエラーなしに終了した際に、CATCH命令がアクティブになります。(後者のケースは稀ですが、エラー操作の代替として、通常に終了した場合のアクションが指定できます。)