UiPath Documentation
maestro-automate
latest
false
Maestro Automate ユーザー ガイド

エラーを処理する

失敗したノードをエラー パスにルーティングし、エラーの詳細を記録し、一時的な失敗をリトライし、回復不能なエラーでワークフローをクリーンに終了します。

構築するもの​

障害が発生したノードを別のパスにルーティングし、有用なコンテキストを使用して失敗を記録し、意味のある場所で一時的な失敗をリトライし、エラーが回復不能になった時点で正常に終了するワークフロー。この結果、既存のワークフローに適合するパターンが作成されます。

開始する前に​

  • 失敗する可能性のあるノードが少なくとも 1 つあり、[ エラー処理 ] タブがある既存のワークフロー (HTTP 要求ノードや抽出ノードなど)。

使用されるノード​

  • HTTP 要求: この例で失敗する可能性があるノードです。
  • スクリプト: エラーの詳細をログ記録します。
  • 強制終了: 回復不能なエラーが発生した場合にワークフローを終了します。

手順​

ヒント:

コーディング エージェントが設定されていれば、手動の手順を省略できます。質問してください:

Add error handling to the HTTP Request node in this Maestro Automate workflow: connect its error path to a Script node that logs the error message, retry temporary failures, and end the run with a Terminate node when the error can't be recovered.
Add error handling to the HTTP Request node in this Maestro Automate workflow: connect its error path to a Script node that logs the error message, retry temporary failures, and end the run with a Terminate node when the error can't be recovered.

次に、キャンバス上でワークフローを開き、以下の手順と照合してテストします。コーディング エージェントを設定する 設定について説明しています。

1. ノードのエラーハンドルを接続する​

既定では、ノードに障害が発生するとワークフロー全体が停止します。代わりに、この失敗を処理するには、以下の手順を実行します。

  1. キャンバス上でワークフローを開き、失敗する可能性のあるノードを選択します。
  2. [ エラー処理 ] タブを開き、[ エラー処理を有効化] をオンにします。メイン出力ハンドルの下に エラー ハンドルが表示されます 。
  3. エラー ハンドルの + を選択し、「スクリプト」を検索して選択します。

これによりエラー パスが作成されます。ノードに障害が発生すると、実行はワークフローを停止するのではなく、このパスをたどります。エラー ハンドルのないノードはエラー処理をサポートしていません。エラー ハンドルが失敗すると、ワークフローが停止して [インシデント] タブに表示されます。

2. エラーをログに記録する​

エラー パスのスクリプト ノードで、 $vars.<node>.errorにあるエラー オブジェクトを読み取ります。

const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };

エラー オブジェクトは、エラー パスにのみ入力されます。[ エラー処理 ] ページには、すべてのエラー フィールドが一覧表示されます。

3. 一時的なエラーをリトライする (任意)​

ネットワークの中断やレート制限など、障害が一時的なものである可能性が高い場合は、あきらめる前にリトライするとよいでしょう。HTTP 要求ノードには、リトライが組み込まれています。[詳細設定] タブで [リトライ回数] を設定すると、エラー ハンドルがトリガーされるまでに要求が何度も再試行されます。最後の失敗のみがエラー パスにルーティングされます。

警告:

複数回安全に実行できる操作のみをリトライします。データの書き込みやメッセージの送信などの副作用があるノードを再試行すると、重複が作成される可能性があります。

4. 回復できない場合は終了する​

エラー パスのスクリプト ノードの後に [強制終了 ] ノードを追加します。エラーの説明を返すには、ノードで [ 出力変数を追加 ] を選択し、エラーを含む値を指定します (例: $vars.httpRequest1.error.message)。

ワークフローは [強制終了] ノードで終了し、実行が [実行を監視] のリストに表示されます。

5. テストとデバッグ​

エラー パスを意図的にトリガーするには、以下の手順を実行します。

  1. HTTP 要求ノードの URL を一時的に無効な値 (例: https://this-will-fail.example.com) に設定します。
  2. Select Run Debug (▶) in the bottom toolbar of the canvas and verify that the execution trace follows the error path.
  3. 正しい URL を復元します。

トレース内のスクリプト ノードのコンソール出力を調べて、エラーの詳細がログに記録されていることを確認します。

結果​

ワークフローは、失敗をエラー パスにルーティングし、エラーの詳細をログに記録し、必要に応じて一時的な失敗をリトライし、わかりやすい失敗ステータスできれいに終了します。HTTP 要求ノードの URL が無効であるため、エラー パスが機能していることが確認されます。

このワークフローを拡張する​

  • Send an alert on failure: on the error path, before the Terminate node, add an HTTP Request or connector node to notify a Slack channel or create a ServiceNow incident.
  • 終了する代わりに続行する: ステップが重要でない場合は、エラー パスにフォールバック値を設定してもらい、終了せずにメイン パスに再結合します。
  • このパターンを幅広く適用してください。「 エラー処理 」では、ログを記録して続行、フォールバック値、エスカレーションなど、さまざまなパターンについて説明します。

次のステップ​

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

接続

ヘルプ リソース サポート(opens in new window)

学習する UiPath アカデミー(opens in new window)

質問する UiPath フォーラム(opens in new window)

最新情報を取得