Power Automate Desktop エラー(例外)処理
この記事ではPower Automate Desktopにおけるエラー(例外)処理の方法を紹介します。

解説
エラーが発生すると、その時点でフローが異常終了します。
ただ異常終了するだけでよければ、あえて対処する必要はありませんが、「終了させずに続ける」、「異常終了した記録を残す」といった何かしらのアクションをしたい場合はエラー処理が必要です。
エラー処理は個々のアクションに設定するものと
複数のアクションにまとめて設定するものがあります。
基本的にはまとめて設定し、それでは足りないものを個々のアクションに設定することを推奨します。
複数のアクションにまとめて設定
「アクション」の「フロー コントロール」より、「ブロック エラー発生時」をドラッグします。

任意の名前を付けて保存します。
名前は空白でもよいですが、可能であればアクションのまとまりに対応する名前にすることを推奨します。

ブロックエラー発生時とEndが追加されます。

この中にアクションを追加していきます。
「ブロック エラー発生時」に設定したエラー(例外)処理は
その中のアクションすべてに適用されます。

そして「ブロック エラー発生時」をダブルクリックして開いてエラー(例外)処理を設定していきます。
フロー続行/スローエラー
初期状態では「スローエラー」になっています。
このままでは、これまで通りエラー時にフローが終了するため
「フロー実行を続行する」に変更します。

「例外処理モード」を選択します。

設置 | エラー(例外)発生時の挙動 |
---|---|
次のアクションに移動 | 発生したアクションを無視してフローを続けます。 |
アクションの繰り返し | 2秒後に再度、発生したアクションを実行します。 アクションが成功するまで続けます。 2秒以上待ちたい場合は新しいルール(後述)のサブフローで Waitアクションを使って伸ばすことも可能です。 |
ラベルの移動 | 任意の「ラベル」の位置に移動します。![]() 「ラベル」は「フローコントロール」の中から設置します。 ![]() しかし、複数の「ラベル」に移動してしまうフローは非常に難解で非推奨です。 利用するのであれば、フローの最後だけにラベルを設置するようにしましょう。 |
ブロックの先頭に移動する | 「ブロック エラー発生時」の最初のアクションからやり直します。 |
ブロックの末尾に移動する | 発生したアクションと途中のアクションを無視して 「ブロック エラー発生時」のEndブロックまで移動します。 |
新しいルール
「新しいルール」から選択します。
このルールはエラー発生アクションから移動する前に実行されます。
また続行せずにスローエラーでも実行されます。

このルールは複数設定可能で、上から順に実行されます。

変数の設定
例えば次のような変数を設定します。
- エラーメッセージの本文
- エラーの有無でその後の処理を変えたい場合のフラグ
- エラー発生時の仮設定(その後の計算で使う数値を-1や0にするなど)
サブフローの実行
エラー時に実行するサブフローを選択します。
例えば次のような処理を行います。
- エラーメッセージの表示
- テキストファイルにエラーの内容を記録(エラーログ)
サブフローの名前は任意ですが、プログラミングの作法的にはCatchを入れます。
またサブフローの中で「最後のエラーを取得」アクションでエラー情報を取得可能です。
このエラー情報からエラーメッセージ(%LastError.Message%)などが取得可能です。

予期しないロジックエラーを取得
21年12月のアップデートで追加された設定です。
チェックなし(これまで通り)では1/0(ゼロ割)のような計算エラーなどは
ここのアクションの想定外のエラーであり(設定に存在しない)
例外処理が出来ませんでしたが、チェックすると対処可能になります。
基本的にチェックした状態での利用を推奨します。

個々のアクションに設定
アクションの左下にある「エラー発生時」をクリックすると、
個々のアクションにエラー(例外)処理を設定可能です。

ここにエラー(例外)処理を指定します。
スローエラー以外の設定は「ブロック エラー発生時」で設定したものより優先されます。

エラーが発生した場合にアクションを再試行する
ONにするとエラー発生時に再度、実行します。
再試行回数と間隔を追加で指定します。

フロー続行/スローエラー
初期状態では「スローエラー」になっています。
「フロー実行を続行する」に変更し、詳細な挙動を指定します。
ここの設定は「次のアクションに移動」以外はおすすめしません。
特に「ラベルの移動」はフローの読みやすさの面で
不都合なため後述の「新しいルール」でサブフローの方がよいです。

新しいルール
「ブロック エラー発生時」の同項目と同様に、
「変数の設定」か「サブフローの実行」を指定します。
「詳細」を開くとエラー発生状況ごとに設定可能です。
アクションやエラー状況に応じたエラー処理や
エラーメッセージを表示するような用途があります。

次の記事
Power Automate Desktopを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,700ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方から各アクションの詳細な使い方、
頻出テクニック、実用例を紹介。(目次)
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。(更新履歴)
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。