予期できるエラー(Blankへの参照など)は事前チェックで防ぐべきだけど、どうしても予期せぬエラーは発生してしまう。
そんなエラーが発生した際の動作を制御するために、Power Automateでは「スコープ」を使用する。
スコープとは
「スコープ」はPower Automateの処理をまとめてくれる機能。


処理をまとめる目的で使うとフローが見やすくなるので非常に便利。
そしてこの「スコープ」は例外の受け取りにも使用できる。
スコープを利用した例外処理の書き方
スコープを使用した例外の処理はエラーが発生しそうな処理をスコープで囲い、そのスコープの後ろにエラーが発生した際の並列分岐を追加することで実現する。
例えばSharePointに対する処理でエラーが起きる可能性がある場合、こんな感じで処理をスコープで囲って、


スコープの後ろで[並列分岐の追加]を選ぶ。


追加した並列分岐に「スコープ内で何かしらの問題が起きたときに実行するアクション(フロー管理者にメールを送る など)」を追加して、


実行条件の[に成功しました]を外し、スコープ内の処理が失敗したときにこの処理が呼ばれるようにする。
※今回はスキップされた(フローのさらに上のほうでエラーが発生した)ときや、タイムアウトのときも呼ばれるようにしている。

※今回はスキップされた(フローのさらに上のほうでエラーが発生した)ときや、タイムアウトのときも呼ばれるようにしている。

Power Automateの存在を知らずSPOリストを編集してしまった、などの予期せぬ出来事に対して、こんな感じで失敗した場合の動作を定義しておくと、後々便利。
コメント