Power Apps Power FXのエラーハンドリングがプレビューになったので使ってみた|キャンバスのtry-catch

今まで「実験的な機能」だった「数式レベルのエラー管理」がプレビューになったので、ちょっと触ってみた。

スポンサーリンク

エラーハンドリングがプレビューに

今まで実験的な機能だった「数式レベルのエラー管理」がプレビューになった。
Power Fxのエラーハンドリングがプレビュー化されたおかげで、これらのことができるようになったとのこと。

  • データベースに空白/NULL値を書き込むことができる
  • IsError、IsErrorOrBlank、IfError 関数でエラーを検出し、エラーを置き換えることができます。
  • App.OnErrorで、エラーの報告やログを一元的に制御できる
  • Error関数で、独自のカスタムエラーを作成し投げることができる

ということで今回これらの機能を触ってみた。

データベースに空白/NULL値を書き込むことができる

IsError、IsErrorOrBlank、IfError 関数でエラーを検出

App.OnErrorでエラーの報告やログを一元制御可能

予期できるエラーはIfErrorやIsErrorで適切に処理するとして、予期できないエラーが起きた場合の処理は「App.OnError」に記述する

例えばこんな0除算エラーが発生するアプリを作って、App.OnErrorにこんな感じのNotify関数を書いてあげれば、
エラーが発生したときに、どこでどんなエラーが起きたか?をメッセージに表示することができる。
ちなみに「ボタンを押して変数を更新、その変数をラベルに表示」みたいなときにエラーが起きた場合は、
「エラー発生場所→ボタン、エラーがユーザーに表示される場所→ラベル」になる。

Error関数で、独自のカスタムエラーを作成し投げることができる

Error関数を使用すると、カスタムのエラーを発生させたりキャッチしたエラーを再スローすることができる

例えばPower Appsのモニターを開いて、
OnError関数を記述せずにエラーを起こしてみると、
「処理されないエラー」という名前でRunTimeエラーが発生するけど、
OnError関数を記述してエラーを起こすと
RunTimeエラーは発生せず、OnErrorでエラーが終了していることがわかる
なので「0除算エラーくらいはメッセージでいいけど、他の致命的なエラーは通過させたい」みたいなときはOnError関数の中でこんな感じでError関数を使ってあげれば、
※あくまで例です。
0除算エラーのときはメッセージが表示されるだけだけど、
こんな感じで0除算以外のエラーが発生する処理を記述して、
そのエラーを起こすと、
エラーが再スローされていることがわかる。

今回のアップデートでPower Appsのキャンバスでエラーが発生した際の挙動をこちらである程度制御することができるようになった。

どんなときにキャッチしてどんなときにエラーを再スローするか?みたいなのはこれから色々触っていく上である程度決まっていくかなと。

コメント

タイトルとURLをコピーしました