【UiPath】不定期で発生するエラーの回避策

概要

不定期で発生するエラーの回避策としてはいくつか方法があります。
・エラーの原因となる根本原因を取り除く(難易度高)
・リトライスコープを使って失敗してもリトライすることで解決する。
・正常終了しているか確認し、正常終了していない場合はリトライする(リトライスコープで検知できない場合)

不定期で発生するエラーについて

UiPathを利用していると、原因不明でエラーが発生するときと発生しないときがあるような状況に稀に陥るときがあります。

原因としてはネットワーク関連、端末自体の問題、操作対象のアプリの問題等、多岐に渡るため、解決が非常に難しいです。

ここではこのようなタイプのエラーについての回避策を記載します。

回避策1:不定期で発生するエラーの原因を特定して原因を取り除く

一番難易度が高い方法です。もし、回避策2以降を検討できる場合は、回避策2以降を検討することをお勧めします。
※回避策2以降は実行するワークフローの重要性などを考慮して対応する必要があります。
 例えば再実行が許されないタイプのワークフローでは回避策1を利用する必要がありますし、
 再実行を何度も行ってもよいようなワークフローであれば回避策2以降をお勧めします。

原因を取り除くには非常に難易度が高いですが、ログ情報など、いくつか解決に至るためのヒントがあります。これらを参考に解決を目指してみてください。

<解決に至るヒント>
・新規でワークフローを作成して類似の処理を再現したときにエラーが再現するか?→ワークフローに依存するか確認する。
・他のPCがあればそちらでも同様にエラーが発生するか?→端末に依存しているか確認する。
・Assistantからの実行、Orchestratorからの実行で発生の有無が変わるか?→実行方法に依存するか確認する。
・UiPathのログ情報を確認する。デフォルトでは以下の場所にログファイルがあります。
 %localappdata%\UiPath\Logs
・アプリケーションログを確認する。スタートメニューからイベントビューアーを開き、
 [Windowsログ]から[Application]を確認し、該当時間に何かエラーが起きていないか確認します。

回避策2:リトライスコープを用いる方法

リトライスコープを用いるとエラーが発生した際に、再度リトライスコープ内の処理を行ってくれます。

リトライスコープ
https://docs.uipath.com/ja/activities/other/latest/workflow/retry-scope

リトライスコープの使い方は上記のドキュメントにある通りで、
条件が満たされないか例外がスローされる限り、含まれているアクティビティをリトライします。
リトライスコープの実行部にエラーが発生しうるアクティビティを配置するだけでその処理がエラーとなったときにリトライしてくれます。(複数のアクティビティを設置可能です)
なお、今回の不定期エラーとは直接関係ないですが、条件設定なども可能です。

回避策3:正常終了していないときにリトライスコープでリトライする

回避策2と似ていますが、こちらではエラーが発生しないが、想定した処理がうまく実行されない場合があるときにリトライする方法です。
この時はスロー(Throw)を利用します。
何らかの方法(例えば正常時には特定の文字が表示されているなど)で正常に動作しているか確認後、条件分岐などで正常に動作していないときにスロー(Throw)で意図的にエラーを発生させ、強制的にリトライスコープでリトライをするように設定します。

スロー内にはエラー内容の定義が必要なのですが、この定義方法の情報がドキュメントには見当たらないので、実際に試してうまくいったものを記載します。
以下のような設定を[例外]のプロパティの中に入れてみてください。

new Exception(“エラー内容”)

※エラー内容については任意の文字を入れてOKです。その文字がエラーとして表示されるだけです。
これにより、エラーを意図的に発生させることができ、リトライが可能になります。

コメント

タイトルとURLをコピーしました