UiPath Documentation
maestro
latest
false
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

エラーを処理する

障害が発生したノードをエラー ハンドラーにルーティングし、エラーの詳細をログに記録し、一時的な障害をリトライし、回復不能なエラーを正常に終了します。

構築する内容: 障害が発生したノードを別のパスにルーティングし、有用なコンテキストを使用して失敗を記録し、意味のある場所で一時的な失敗をリトライし、エラーが回復不能になったときに正常に終了するワークフロー。このガイドを終えると、既存のワークフローにドロップできるパターンが完成します。

必要なもの

  • Maestro Flow へのアクセス権を持つ UiPath Automation Cloud アカウント。
  • 既存のフロー ワークフローに、失敗する可能性があり、エラー ハンドルを公開するノードが少なくとも 1 つある (HTTP 要求ノードや抽出ノードなど)。

使用されるノード

  • HTTP 要求 — この例では失敗しやすいノードです
  • スクリプト — エラーの詳細をログに記録します
  • 強制終了 — 回復不能なエラーで Failed ステータスでワークフローを終了します

手順

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

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

  1. キャンバス上でワークフローを開き、失敗しやすいノードを選択します。
  2. エラー ハンドル (ノードの右下にあるコネクタ) から新しい スクリプト ノードにドラッグします。

これによりエラー パスが作成されます。ノードに障害が発生すると、実行はプロセスを停止するのではなく、このパスに従ってルーティングされます。(エラー ハンドルを公開しないノードはエラー処理をサポートしていません。エラーが失敗するとプロセスが停止し、[ インシデント ] タブに表示されます)。

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. 回復できない場合は終了する

エラー パスのスクリプト ノードの後に [強制終了 ] ノードを追加します。セット:

  • ステータスFailed
  • メッセージ → エラーを含む説明が記述されます (例: $vars.httpRequest1.error.message

これにより、失敗が実行履歴に有用な説明とともに記録されます。この説明は、「 実行を監視する」に表示されます。

5. テストとデバッグ

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

  1. HTTP 要求ノードの URL を一時的に無効な値 (例: https://this-will-fail.example.com) に設定します。
  2. テストを実行し、実行トレースのルートがエラー パスに沿って進んでいることを確認します。
  3. 正しい URL を復元します。

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

結果

ワークフローでは、失敗をエラー パスにルーティングし、エラーの詳細をログに記録し、必要に応じて一時的な失敗をリトライし、エラーのステータスできれいに終了します。エラー パスが機能することを確認するには、HTTP 要求ノードで無効な URL を使用し、実行トレースでスクリプト ノードのコンソール出力を調べます。

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

  • 失敗時にアラートを送信 — エラー パスの [強制終了] ノードの前に、Slack チャンネルに通知したり、インシデント チケットを作成したりするための HTTP 要求ノードまたは統合ノードを追加します。
  • 終了せずに続行 — ステップが重要でない場合は、エラー パスにフォールバック値を設定してもらい、終了せずにメイン パスに再結合します。
  • このパターンをあらゆる場所に適用 — その他のパターン (ログを記録して続行、フォールバック値、エスカレーション) については、「 エラー処理の リファレンス」をご覧ください。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得