エラー処理
ステップの実行中にエラーが発生した場合、エラーはステップの設定の [エラー処理] タブで指定された方法で処理されます。テスト アクションでも、条件が失敗する場合は、同じ処理を適用することがあります。エラーまたは失敗したテストの処理には 2 つの側面があります。1 つはインシデントを報告またはログ記録する方法と場所で、もう 1 つはロボットの実行を続行する方法と場所です。
プロパティ
次のプロパティを利用してエラー処理を設定します。
- API 例外
-
このプロパティではインシデントをロボットの呼び出し元に報告するかどうかを指定します。報告が行われる方法は、ロボットが実行される方法によって異なります。
- デザイン モードでは (以下で説明する [無視して続行] を使用してインシデントが処理される場合を除いて) インシデントが常に報告されるため、ロボットが Design Studio のデザイン モードで実行される場合、このプロパティは効力を持ちません。
- ロボットがデバッグ モードで実行される場合、レポートは [エラー レポート] タブに追加されます。
- ロボットが Management Console で実行される場合は、レポートのカウントのみが行われます (レポートはスケジュールの「前回の」実行で発生したエラーの数として表示されます)。このシナリオでは、[ エラーとしてログ記録] と同じ値 (チェックボックスのオンまたはオフ) を使用することを推奨します。
- ロボットがいずれかの API を介してクライアントによって実行され、かつ RoboServer で実行される場合、レポートは、以下で説明するように、API を介して呼び出し元に送信されます。
少なくともデフォルトの RQLHandler を使用しているときは、これによって呼び出し側で例外が発生します。(プロパティの名前が「例外」になっているのは、そのためです) 。RobotErrorResponse
注 このプロパティはオンまたはオフになっている可能性がありますが、プロパティが明示的に非デフォルト値に設定されていることを意味するアステリスク (*) でマークされていることもあります。これについては、アステリスクを除去してデフォルト値に戻す方法も説明している [デフォルトからの変更の表示] で説明します。デフォルト値が適用される (つまりアステリスクがない) 場合は、Then プロパティの下で行われた選択に従ってデフォルトが変化することに注意してください。 - エラーとしてログ記録
-
このプロパティではインシデントをログ記録するかどうかを指定します。これは報告とは異なります (前項を参照してください)。
- ロボットが Design Studio のデザイン モードで実行される場合、インシデントは [表示] メニューで [ログを表示] を選択したときに表示されるログに追加されます。
- ロボットがデバッグ モードで実行される場合、インシデントは [ログ] タブに追加されます。
- ロボットが (Management Console から、または API を介して) RoboServer で実行される場合、インシデントはその RoboServer のクラスター設定で定義されている場所にログ記録されます。その場所は、たいていの場合、Management Console が使用しているデータベースと同じデータベースです。
注 このプロパティはオンまたはオフになっている可能性がありますが、上記の [API 例外] で説明したように、アステリスク (*) でマークされていることもあります。 - Then
-
このプロパティでは、インシデント発生後のロボット実行方法と実行場所を指定します。次のオプションが利用可能です。
- 後続のステップ全てをスキップ (デフォルト)
-
エラーが発生した (またはテスト条件が失敗した) ステップに続くステップは実行されません。その他の点では、ステップが問題なく実行されたかのように実行が続行されます。
- 無視して続行
-
エラーが発生した (またはテスト条件が失敗した) ステップがスキップされ、そのステップに続くステップから実行が通常通り続行されます。
- 次の代替手段を試行
-
トライ ステップから出る分岐でこのプロパティを使用することができます。トライ ステップからの現在の分岐の実行が中止され、そのトライ ステップからの次の分岐上の最初のステップから実行が続行されます。そこでは、最初の分岐と同じロボット状態で実行が続行されます。
現在の分岐がそのトライ ステップからの最後の分岐である場合、[次の代替手段を試行] は無効ではありませんが、エラー (「すべての代替手段が失敗しました」) が発生し、そのエラーはそのトライ ステップでエラー処理が設定されている方法に従って処理されます。
トライ ステップがネストされている場合は、現在のステップへの実行パス上にあるトライ ステップから該当するトライ ステップを選択することができます。
- 後方に送る (レガシー)
-
このオプションは、8.0 より前のDesign Studioのバージョンで作成されたロボットとの後方互換性を保つためにのみ存在します。このオプションについては別途説明します。
- 次のイテレーション
-
ループの内部で、つまり (Repeat-Next ループを除く) 何らかの繰り返しステップの後で、このプロパティを使用することができます。現在のループ イテレーションの実行は中止され、次のイテレーションから実行が続行されます。つまり、次の looped-over 項目に対応するロボット状態で、ループ ステップの後の最初のステップから実行が続行されます。
ループがネストされている場合は、次のイテレーションへの移動元となる該当するループを選択することができます。
- ループ終了
-
ループの内部で、つまり (Repeat-Next ループを含む) 何らかの繰り返しステップの後で、このプロパティを使用することができます。ループの実行は中止されます。したがって、現在のイテレーションは終了されず、次以降のイテレーションはまったく実行されません。これは、ループの通常の終了後と同じステップから実行が続行されることを意味しています。
ループがネストされている場合は、現在のステップへの実行パス上にあるループから該当するループを選択することができます。