トライステップ(Try Step)と「次の代替手段を試行(Try Next Alternative)」エラー処理は、非常に柔軟なツールです。適切な方法で使用することで、さまざまな方法でエラーを処理することができます。
本記事では、シンプルで一般的なケースをいくつか紹介します。
実際には、これらのケースは非常に一般的であるため、特殊なエラー処理オプションによってもサポートされています。
■後続のステップ全てをスキップ(Skip Following Steps)
-
多くの場合、ロボットは Web ページで任意のエレメントの処理が必要になります。
エレメントが存在する場合には処理を行いますが(データの抽出など)、存在しない場合には、エレメントの処理をスキップできます。
エレメントが存在しなくてもエラーではなく、想定内の状況です。
これは、ロボットでは次のように表すことができます。ステップ A はエレメントが存在するかどうかテストします。ステップ B と C は、ステップAのテストが成功した場合のみ、続けて処理を実行します。ステップA が成功しなかった場合 (エレメントがWebページにない場合)、
「次の代替手段を試行()」は、トライステップに通知を送信します (この例では名前なし)。
これにより、2 番目の空の分岐が実行され、その後、トライステップで始まる分岐全体の実行が完了します。
したがって、ステップ A が成功しなければ、ステップ B と C は実行されません。この状況は一般的なものであるため、固有のエラー処理オプションである「後続のステップ全てをスキップ」をショートカットとして導入します。以下のように、この例を単純にすることができます。
ステップ A のエラー処理は次のように設定します。これはすべてステップのデフォルト設定です。
厳密に言えば、トライステップで示されているのとまったく同じ動作にするには、「API 例外(API Exception)」と「エラーとしてログ記録(Log as Error)」のチェック ボックスをクリアする必要があります。その理由は、エラー処理を行う 2つの方法では、これらのチェックボックスのデフォルト値が異なるためです。
ステップ B がステップ A に類似していた場合(つまり、ステップ B にも「次の代替手段を試行」エラー処理があった場合)、この同じショートカットを使うことができることに注意してください。 -
■無視して続行(Ignore and Continue)
- 何らかの条件が満たされた場合、アクション(抽出など)の実行をして、それ以外の場合はスキップしたい場合があります。後続のステップは、この結果に依存しない場合 (または、結果に対して適切なデフォルトが事前に設定されています)、次のように表すことができます。
ステップ A が成功しなかった場合、「次の代替手段を試行(
)」により、(名前のない) トライステップからの 2 番目の空の分岐が実行されます。この後、ステップ A に入力されたのと同じロボット状態でステップ B で実行が継続され、ステップ A が効率的にスキップされます。
これは、ステップ A でエラー処理オプション「無視して続行(
)」を使って、トライステップなしで行うこともできます。
また、無視された場合でも状況の記録を可能にすることができます。これは、以下のように、ステップ A でエラー処理を設定することで実現できます。
トライ ステップを使用した方法でも、同様の手順で設定できます。