Power Automate Desktopのエラーハンドリングをわかりやすく解説|Action LevelとBlock Levelの違い

  • URLをコピーしました!

Power Automate Desktop(PAD)でフローを作り始めると、かなり高確率で遭遇するのがこれです。

「フローが途中で止まった…」

特に実務では、

  • Excelが開かない
  • Webページが落ちる
  • Outlookが反応しない
  • シートが存在しない

など、エラーは必ず発生します。

そして初心者が最初にやりがちなのが、

エラーでフローが完全停止

です。

でも実務では、

  • エラー内容を記録
  • Teamsやメール通知
  • 次処理へ継続
  • 自動リトライ

まで設計します。

この記事では初心者向けに、

  • エラーハンドリングとは?
  • Business Exception / System Exception
  • Action Level Error Handling
  • Block Level Error Handling
  • Retry設定
  • Logging
  • Monitoring

まで、実務イメージ付きでわかりやすく解説します。


エラーハンドリングとは?

簡単にいうと、

「エラーが起きても安全に処理する仕組み」

です。

例えば、

  • Excelシートが存在しない
  • APIがタイムアウト
  • ブラウザが開かない

時に、

目次

どう動くか

を決めます。


実務では超重要

実際のRPAでは、

「エラーが起きない」

より、

「エラー時にどう動くか」

の方が重要です。


Power Automate Desktopの例外は2種類

講義でも最初に説明されています。


① Business Exception

業務ルール側の問題。


  • 金額が空白
  • 年齢18歳未満
  • 必須項目未入力

など。


特徴

リトライしても意味がない

例えば金額空白は、

何回やっても空白です。


② System Exception

システム側問題。


  • ブラウザ起動失敗
  • Outlook応答なし
  • APIタイムアウト

など。


特徴

リトライすると直る場合がある

例えば、

  • 再起動
  • 再読込
  • 再接続

で復旧するケースがあります。


実務ではRetry設定が超重要

一般的には、

3回程度リトライ

が多いです。


Power Automate Desktopのエラーハンドリングは2種類


① Action Level Error Handling


② Block Level Error Handling


まずAction Levelから理解しよう


Action Level Error Handlingとは?

名前の通り、

「1つのアクション単位」

でエラー制御します。


どこにある?

各アクションの

「On Error」

です。

初心者は意外と見落とします。


今回の例

講義ではExcel例を使っています。


処理内容

STEP1

Excel起動


STEP2

存在しないシートを指定


STEP3

エラー発生


わざと失敗させる

「dummy sheet」

という存在しないシートを指定。


すると?

「シートが見つからない」

エラーになります。


ここでOn Errorを使う

アクション右側の

On Error

をクリック。


設定できること


Retry Policy

リトライ回数設定。


Retry Interval

何秒後に再実行するか。


Continue Flow Run

エラー後も継続。


Throw Error

エラー停止。


実務でよく使う構成


エラー発生

Teams通知

ログ記録

次処理継続


Subflowも実行できる

これかなり便利です。

エラー時に、

  • メール送信
  • Teams通知
  • ログ保存

用Subflowを呼び出せます。


Get Last Error が超重要

これは実務でかなり使います。

「最後のエラー情報取得」

です。


取得できるもの

  • Action Name
  • Error Message
  • Subflow Name
  • Line Number

など。


実際かなり便利

例えばメール通知で、


件名

PADエラー通知


本文

  • Action Name
  • Error内容
  • 発生箇所

まで送れます。


次はBlock Level Error Handling


Block Level Error Handlingとは?

複数アクションまとめて制御します。


イメージ

この範囲全部監視

みたいな感じ。


使い方

「On Block Error」

アクションを追加。


Blockの中に処理を書く

例えば、

  • Excel起動
  • 読み込み
  • 更新
  • 保存

全部まとめる。


エラー時の動作


Go to End of Block

ブロック終了へジャンプ。


Go to Beginning

再実行。


実務ではどっち使う?


Action Level向き

  • 個別処理
  • 細かい制御
  • Excelシート判定

Block Level向き

  • 一連処理
  • 大きな業務単位
  • Web操作まとめ

「Capture Unexpected Logic Errors」が超重要

これ初心者が見落としやすいです。


例えば

  • 0除算
  • 配列範囲外
  • インデックスエラー

など。


チェックONで捕捉可能

かなり重要です。


Logging(ログ出力)

エラーハンドリングとセットです。


Log Messageアクション

PAD標準ログ機能。


記録できるもの

  • Info
  • Warning
  • Error

など。


実務ではこう使う


成功時

「正常終了」


失敗時

「Division by Zero」


Monitoring(監視)

Power Automate Portalで確認できます。


見れるもの

  • 実行履歴
  • 実行時間
  • エラー率
  • 失敗箇所

実務では超重要

保守担当がここを見ます。


初心者におすすめ構成

最初はこれだけでOK。


① Action Level

② Get Last Error

③ Log Message

④ Teams通知


これだけでかなり実務っぽくなる


よくある失敗


① Throw Errorだけ

結局止まる。


② Retry無限

システム負荷。


③ エラー情報未保存

原因不明になる。


実際に使って感じたこと

PADは、

「正常系」

より、

「異常系設計」

が本当に重要です。

特に業務自動化では、

  • 通知
  • ログ
  • 継続処理

まで作るとかなり実務レベルになります。


よくある質問(FAQ)

Q. Action LevelとBlock Levelはどっち使う?

両方使います。

  • 個別 → Action
  • 大きな処理 → Block

が基本。


Q. Retry回数おすすめは?

3回前後が一般的。


Q. Get Last Errorは必須?

かなりおすすめです。

障害解析が楽になります。


Q. ログはどこで確認する?

Power Automate Portalの

Desktop Flow Runs

から確認できます。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次