Power Automate Desktop エラー(例外)処理

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

解説

エラーが発生すると、その時点でフローが異常終了します。

ただ異常終了するだけでよければ、あえて対処する必要はありませんが、

終了させずに続ける、記録を残すといった何かしらの動作をしたい場合は必要です。

エラー(例外)処理は個々のアクションに対して行うものと

複数のアクションを一まとめにして行うものがあります。

基本的には一まとめに設定し、それでは足りないものを個々のアクションに設定します。

複数のアクションにまとめて設定

「アクション」の「フロー コントロール」より、

「ブロック エラー発生時」をドラッグします。

任意の名前を付けて保存します。

名前は空白でもよいですが、

可能であれば一まとめにするアクションに対する名前にします。

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

その中にアクションを追加していきます。

「ブロック エラー発生時」に設定したエラー(例外)処理は

その中のアクションすべてに適用されます。

「ブロック エラー発生時」をダブルクリックして開いてエラー(例外)処理を設定していきます。

フロー続行/スローエラー

初期状態では「スローエラー」になっています。

このままでは、これまで通りエラー時にフローが終了するため

「フロー実行を続行する」に変更します。

そして続行の方法を選択します。

設置エラー(例外)発生時の挙動
次のアクションに移動発生したアクションを無視してフローを続けます。
アクションの繰り返し2秒後に再度、発生したアクションを実行します。
アクションが成功するまで続けます。
2秒以上待ちたい場合は新しいルール(後述)のサブフローの中で
遅延アクションを使って伸ばすことも可能です。
ブロックの先頭に移動する「ブロック エラー発生時」の最初のアクションからやり直します。
ブロックの末尾に移動する発生したアクションと途中のアクションを無視して
「ブロック エラー発生時」のEndブロックまで移動します。
新しいルール(後述)を設定していないと
この選択肢を設定しても反映されません。(不具合?)

新しいルール

「新しいルール」から選択します。

このルールはエラー発生アクションから移動する前に実行されます。

また続行せずにスローエラーでも実行されます。

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

変数の設定

例えば次のような変数を設定します。

  • エラーメッセージの本文
  • エラーの有無でその後の処理を変えたい場合のフラグ
  • エラー発生時の仮設定(その後の計算で使う数値を-1や0にするなど)
サブフローの実行

エラー時に実行するサブフローを選択します。

例えば次のような処理を行います。

  • 例えばエラーメッセージの表示
  • テキストファイルにエラーの内容を記録(エラーログ)
  • 遅延で待ち時間を設定(2秒より長く待ちたい場合)

サブフローの名前は任意ですが、プログラミングの作法的にはCatchを入れます。

またサブフローの中で「最後のエラーを取得」アクションでエラー情報を取得可能です。

このエラー情報からエラーメッセージ(%LastError.Message%)などが取得可能です。

個々のアクションに設定

アクションの左下にある「エラー発生時」をクリックすると、

個々のアクションにエラー(例外)処理を設定可能です。

ここにエラー(例外)処理を指定します。

スローエラー以外の設定は「ブロック エラー発生時」で設定したものより優先されます。

エラーが発生した場合にアクションを再試行する

ONにするとエラー発生時に2秒待って再度、実行します。

フロー続行/スローエラー

初期状態では「スローエラー」になっています。

「フロー実行を続行する」に変更し、詳細な挙動を指定します。

ここの設定は「次のアクションに移動」以外はおすすめしません。

特に「ラベルの移動」はフローの読みやすさの面で

不都合なため後述の「新しいルール」でサブフローの方がよいです。

新しいルール

「ブロック エラー発生時」の同項目と同様に、

「変数の設定」か「サブフローの実行」を指定します。

「詳細」を開くとエラー発生状況ごとに設定可能です。

アクションやエラー状況に応じたエラー処理や

エラーメッセージを表示するような用途があります。

次の記事

基本的なExcel自動操作方法

関連記事

初心者向けの記事一覧