エラーが発生した際の処理

PADでフローを実行していると「ボタンが押せない」「画面が見つからない」など、様々なエラーが発生します。
エラーが発生してしまうと、そこで処理が中断されてしまい、売上入力など連続した登録業務などでは、中途半端なデータが登録されてしまい、業務全体に影響が出る可能性があります。

また以下のように、請求書をメールで送るフローを作成した場合、ループの途中でエラーが発生した場合は、最初から実行しなおすと、既に請求書を送付したお客様にも再度請求書が送られてしまうことになり、クレームにつながりかねません。(今回のケースであれば請求情報に送付済みかどうかのチェックをつけることも考えられます)

こういったことを回避するため、PADには「例外処理」というものが用意されています。
例外処理とは「エラーが発生した際の動き」を表すもので、「無視して次に進む」「特定のサブフローに移動する」「ラベルにジャンプする」など、様々な動きが用意されています。
例えば、エラーが発生したかどうかについては、Power Automateで確認する必要があり、無償版では画面上から確認するすべがありません。
例外処理を使用することで、エラーが発生したことをメールで通知することが可能となります。

例外処理のレベル

例外処理は「アクション」と「ブロック」の2つのレベルで設定することが出来ます。

アクション レベルの場合は、各アクションに対して例外処理を設定でき、対象アクションが失敗しても継続して処理したい指定したラベル位置から処理をやり直したいといったケースで使用します。
例えば、「ファイルの削除」アクションでファイルを削除する際に、ファイルが存在しないとエラーとなってしまいますが、例外処理を設定し、処理を継続させることでエラーとならずに処理を継続させることが可能です。

ブロック レベルでは、指定した範囲に対し、例外処理を設定することが出来ます。
アクション レベルでは、各アクションに例外処理を設定する必要があるため、ここでエラーが発生した場合はこうしたいという場合に利用できますが、実際にフローを動かした際に、どこでエラーになるかは分からないことがほとんどです。
そこで、ブロックを設定することで、フロー内で共通した例外処理を行うことができ、冒頭でご紹介したエラーメールを送信する、といったことが可能になります。

アクションの設定

サポート会員様限定のコンテンツです。
サポートプランをご契約いただくと閲覧できます。
サポートについて

ブロックの設定

サポート会員様限定のコンテンツです。
サポートプランをご契約いただくと閲覧できます。
サポートについて

キャッチできないエラーもある

残念ながら「ランタイムエラー」については、例外処理で処理することが出来ません。
例えば、「カスタム オブジェクト」を参照する際に、存在しないキーで取得しようとした場合などです。
これらは、アクションではなくPADのエラーとして扱われるため、例外処理設定では処理できず、エラーとなってしまいます。
ランタイムエラーが発生する場合は、Ifアクションで回避するなど、フロー側を改修し、発生しないような構築を行ってください。

できるPower Automate Desktop ノーコードで実現するはじめてのRPA
Power Automate Desktop サポートプラン
Power Automate Desktop 開発入門講習会