activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
ワークフローに関するアクティビティ
Last updated 2024年10月31日

リトライ スコープ

UiPath.Core.Activities.RetryScope

説明

条件が満たされないか例外がスローされる限り、含まれているアクティビティをリトライします。

このアクティビティは、オーケストレーション プロセスMain ワークフローでは予期されているとおりに動作しません。

プロジェクトの対応 OS

Windows - レガシ | Windows | クロスプラットフォーム

Windows - レガシ、Windows での設定

デザイナー パネル
  • アクション - 再実行するアクティビティをこのセクションに追加します。
  • 条件 - このセクションに条件アクティビティを追加します。

    たとえば、UI 要素の指定に失敗した場合にスムーズにリトライするには、UI Automation モダンの [アプリのステートを確認] アクティビティ、またはそれに対応するクラシック アクティビティ [要素の存在を確認] を条件として使用し、再度アプリケーションを開いて UI 要素を検索するようにします。

プロパティ パネル
共通
  • 表示名 - アクティビティの表示名です。
  • エラー発生時に実行を継続 - アクティビティが例外をスローした場合でもオートメーションを続行するかどうかを指定します。このフィールドは Boolean 値 (True、False) のみをサポートします。既定値は False です。結果として、フィールドが空白であり、例外がスローされた場合、プロジェクトの実行は停止されます。値が True に設定されている場合、エラーが発生したとしても、プロジェクトの実行は続行されます。

    注: このアクティビティが [トライ キャッチ] に含まれていて、[エラー発生時に実行を継続] プロパティの値が True の場合、プロジェクトが実行されたときにエラーは発生しません。
その他
  • プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。

オプション

  • リトライの回数 - シーケンスをリトライする回数です。
  • リトライの間隔 - 各リトライの合間の時間 (秒数) を指定します。

クロスプラットフォームでの設定

デザイナー パネル
  • アクション - 再実行するアクティビティをこのセクションに追加します。
  • 条件 - このセクションに条件アクティビティを追加します。

    たとえば、UI 要素の指定に失敗した場合にスムーズにリトライするには、UI Automation モダンの [アプリのステートを確認] アクティビティを条件として使用し、再度アプリケーションを開いて UI 要素を検索するようにします。

共通
  • エラー発生時に実行を継続 - アクティビティが例外をスローした場合でもオートメーションを続行するかどうかを指定します。このフィールドは Boolean 値 (True、False) のみをサポートします。既定値は False です。結果として、フィールドが空白であり、例外がスローされた場合、プロジェクトの実行は停止されます。値が True に設定されている場合、エラーが発生したとしても、プロジェクトの実行は続行されます。

    注: このアクティビティが [トライ キャッチ] に含まれていて、[エラー発生時に実行を継続] プロパティの値が True の場合、プロジェクトが実行されたときにエラーは発生しません。

オプション

  • リトライの回数 - シーケンスをリトライする回数です。
  • リトライの間隔 - 各リトライの合間の時間 (秒数) を指定します。

[リトライ スコープ] アクティビティを使用した例

[リトライ スコープ] アクティビティはエラーをキャッチして処理するため、[トライ キャッチ] アクティビティと似ています。以下のワークフローでは、[メモ帳] ウィンドウを 3 回開き、[リトライ スコープ] アクティビティで設定した条件を使用し、ループを停止します。

  1. 新しいシーケンスを作成し、[リトライ スコープ] アクティビティを追加します。
  2. プロパティパネルで、既定値として [リトライの回数] を [3] に、[リトライの間隔] を [5] にします。つまり、[メモ帳] ウィンドウを [3] 回開き、試行間隔が [5] 秒になるよう設定します。
  3. [アクション] セクションの中で、[代入] アクティビティを追加します。
  4. たとえば、「Random」という名前の GenericValue 変数を作成し、[代入] アクティビティの [左辺値 (To)] フィールドに追加します。
  5. [代入] アクティビティの [右辺値 (Value)] フィールドに Now.Millisecond mod 5 値を追加し、変数に追加します。


  6. [条件分岐 (if)] アクティビティを追加し、条件として Random <> 0 を入力します。これは、変数の値が [0] と異なるかどうかをチェックします。
  7. アクティビティの [Then] セクション (上記の条件が True の場合) で以下の手順に従います。

    • [Notepad Window failed to start] というテキストを [メッセージ ボックス] アクティビティに入力します。
    • 例外をスローするために、[メッセージ ボックス] アクティビティの下に[スロー] アクティビティを追加します。
    • [プロパティ][例外] フィールドに New System.Exception(“Notepad failed to start”) と入力します。
  8. [条件分岐 (if)] アクティビティの [Else] セクション (上記の条件が False の場合)

    • [アプリケーションを開く] アクティビティを追加し、メモ帳を画面に表示します。[プロパティ][ファイル名] フィールドにメモ帳が実行可能なファイルのフル パスを入力します。



  9. ループを終了するには、[リトライ スコープ][条件] セクションに [要素の存在を確認] アクティビティを追加し、メモ帳ウィンドウを表示します。

    モダン アクティビティを使用する場合、[アプリのステートを確認] アクティビティを [リトライ スコープ][条件] として使用できます。



このワークフローは失敗した [メモ帳] ウィンドウをシミュレートします。 Random 変数の値が 3 回連続して 0 ではない場合、「Notepad Window failed to start」というメッセージが毎回表示され、ワークフロー全体が「Notepad failed to start」エラーにより失敗します。後者のメッセージは、[スロー] アクティビティで追加されたメッセージです。
Random 変数の値が [0] の場合、ロボットはメモ帳を開き、このループの条件はメモ帳ウィンドウを見つけることであるため、ワークフローは正常に完了します。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.