ログインすると広告表示が消えます
エラーが発生した際の処理
PADでフローを実行していると「ボタンが押せない」「画面が見つからない」など、様々なエラーが発生します。
エラーが発生してしまうと、そこで処理が中断されてしまい、売上入力など連続した登録業務などでは、中途半端なデータが登録されてしまい、業務全体に影響が出る可能性があります。
また以下のように、請求書をメールで送るフローを作成した場合、ループの途中でエラーが発生した場合は、最初から実行しなおすと、既に請求書を送付したお客様にも再度請求書が送られてしまうことになり、クレームにつながりかねません。(今回のケースであれば請求情報に送付済みかどうかのチェックをつけることも考えられます)
こういったことを回避するため、PADには「例外処理」というものが用意されています。
例外処理とは「エラーが発生した際の動き」を表すもので、「無視して次に進む」「特定のサブフローに移動する」「ラベルにジャンプする」など、様々な動きが用意されています。
例えば、エラーが発生したかどうかについては、Power Automateで確認する必要があり、無償版では画面上から確認するすべがありません。
例外処理を使用することで、エラーが発生したことをメールで通知することが可能となります。
例外処理のレベル
例外処理は「アクション」と「ブロック」の2つのレベルで設定することが出来ます。
アクション レベルの場合は、各アクションに対して例外処理を設定でき、対象アクションが失敗しても継続して処理したい、指定したラベル位置から処理をやり直したいといったケースで使用します。
例えば、「ファイルの削除」アクションでファイルを削除する際に、ファイルが存在しないとエラーとなってしまいますが、例外処理を設定し、処理を継続させることでエラーとならずに処理を継続させることが可能です。
ブロック レベルでは、指定した範囲に対し、例外処理を設定することが出来ます。
アクション レベルでは、各アクションに例外処理を設定する必要があるため、ここでエラーが発生した場合はこうしたいという場合に利用できますが、実際にフローを動かした際に、どこでエラーになるかは分からないことがほとんどです。
そこで、ブロックを設定することで、フロー内で共通した例外処理を行うことができ、冒頭でご紹介したエラーメールを送信する、といったことが可能になります。
アクションの設定
ブロックの設定
エラー発生時のメール通知
キャッチできないエラーもある
デスクトップフローを実行した際に発生するエラーを「ランタイムエラー」といいます。
しかし、このエラーには例外処理できないものが存在します。
ここでは、2つを識別する為、例外処理できるものを「実行時エラー」、できないものを「ランタイムエラー」とします。
ランタイムエラーは、PADが予期しなかったエラーが発生した場合に起きます。
例えば、存在しないファイルを開こうとした場合は、PADで予め想定されているため「実行時エラー」として処理できますが、既に閉じているExcelインスタンスを操作しようとした、カスタム オブジェクトを参照する際に、存在しないキーで取得しようとした場合などは、PADで予期されていないため、「ランタイムエラー」となります。
これらは、PADのエラーとして扱われるため、例外処理設定では処理できません。
ランタイムエラーが発生してしまった場合は、作ったフローに不具合が含まれている、ということになりますので、Ifアクションで該当のアクションが実行されないようにするなど、フロー側を改修し、ランタイムエラーが発生しないような構築をしましょう。
ログインすると広告表示が消えます