【質問】
AutoMateの関数を使用して、タスク実行時にエラーが発生したステップ情報を取得する方法はないか。
【回答】
以下のようにすることで、
エラーになった関数・ステップ番号・原因のテキストを
一括で取得することが可能です。
エラー内容などを正確に把握しておきたい際はご活用ください。
(例)
1. タスク配列「Array_FuncErrors」を1次元・サイズ3で作成(名前は一例)
タスク配列はタスク変数を作成するタイプ「配列」を選択すると
作成できます
2. イベント「OnTaskFailure」の先頭に以下のアクションを配置
(タスク配列名が「Array_FuncErrors」の場合)
<AMARRAY ACTIVITY="set" NAME="Array_FuncErrors"><SETTER INDEX="0" VALUE="%AMError.FunctionName%" /><SETTER INDEX="1" VALUE="%AMError.StepNumber%" /><SETTER INDEX="2" VALUE="%AMError.ErrorDesc%" /></AMARRAY>
内容としては、
配列の0番目:%AMError.FunctionName%(エラーになった関数)
配列の1番目:%AMError.StepNumber% (エラーになったステップ番号)
配列の2番目:%AMError.ErrorDesc% (エラーになった内容)
を格納するというものです。
ここで配列を使用している理由は、%AMError.FunctionName%などが
直前のステップのものを参照する関数のため、
OnTaskFailureの先頭にある%AMError.FunctionName%をセットするアクションが
正常に終了すると、その結果で%AMError.FunctionName%などが上書きされるためです。
そのため、アクション詳細情報が欲しい場合は
配列アクションで1アクションのみ用いて全て取得しなければなりません。
なお、エラーによりタスク実行エラーとなった場合だけでなく
無視して次に進むステップについてもエラー情報を取りたい場合は
上記のイベント「OnTaskFailure」をイベント「OnStepError」に読み替えて下さい。