次の方法で共有


エラー処理

Power Fx では、数式レベルのエラー処理がサポートされています。 この機能は、すべての新しいアプリで既定で有効になっています。 ただし、一部の古いアプリでは、アプリ の設定で無効になっている可能性があります。 この機能はオンにしておくことをお勧めします。

この機能が有効になっているかどうかを確認するには:

  1. 編集用のキャンバス アプリを開きます。
  2. 設定>Updates>Retired タブに移動します。
  3. [ 数式レベルの管理を無効にする ] がオフになっていることを確認します。

この設定を有効にすると、 IfErrorIsErrorErrorIsBlankorErrorなどの数式を使用できます。 これらの関数は、エラーの検出、代替値の提供、またはエラーに基づく特定のアクションの実行に役立ちます。 この設定を有効にすると、データ ソースに null 値または空白値を書き込むことができます。 この機能をオフにすると、エラーは空白値として返されます。

検証エラーの処理

これらの関数は、形式が正しくない、必須フィールドなどの入力を検証するのに役立ちます。 If 文や IsBlankIsError のような関数を使用して、ユーザー入力を検証します。 明確なエラー メッセージを提供し、入力が修正されるまでそれ以上の処理が行われないようにします。

If( IsBlank(TextInput.Text),
    Notify("Field cannot be blank", 
    NotificationType.Error),
    // Continue with processing
)

パッチ関数エラーの処理

前の例と同様に、Error 関数は、データ ソースにデータをパッチする際のエラー検知に役立ちます。 Patch 関数は 2 つの方法でエラーを報告します。

操作の結果としてエラー値を返すこともあります。

UpdateContext(
    {   
    result : Patch(
             Feeds,
             Defaults(Feeds),
             {
                 createdon: Now(),
                 crde8_content: TextInput1_1.Text
                 cr9ce_imageurl: filename
             }
        )
    }
)

IsErrorを使用してエラーを検出し、IfErrorを使用してエラーを置換または抑制できます。

IfError(result, Notify("There was an issue saving data" , NotificationType.Error));
IfError(result, Notify("There was an issue saving data" , & FirstError.Message, NotificationType.Error))

If(
    IsError(
        Patch(
            Feeds,
            Defaults(Feeds),
            {
                createdon: Now(),
                crde8_content: TextInput1_1.Txt,
                cr9ce_imageurl: filename        
            }
        )
    ),
    Notify("Error: There was an issue saving data", NotificationType.Error)
)

フォームのエラー処理

フォームを使用して SubmitForm 関数を使用してデータを送信する場合は、フォーム コントロール プロパティ OnFailure を使用して、ユーザーにエラー メッセージを通知します。

// OnSelect property of the form's submit button
SubmitForm(frm_SubmitData);

// OnSuccess property of the form
Navigate('Success Screen');

// OnFailure property of the form
Notify("Error: the invoice could not be created", NotificationType.Error);

OnError プロパティを使用したカスタム エラー メッセージ

Power Apps OnError プロパティは、アプリ内のすべての未処理のエラーをキャプチャします。 OnError プロパティを使用すると、アプリでハンドルされないエラーが発生するたびに式を実行できます。 たとえば、エラーを変数に格納したり、 IfError などの関数を使用してエラーを別の値に置き換えたりすることができます。 OnError プロパティを使用するには、エラーを処理するアプリに追加します。 次に、 OnError プロパティ ボックスに数式を記述して、表示するエラー メッセージを指定します。

App.OnError IfErrorのようにエラーを置き換えることはできません。 App.OnError実行すると、エラーは既に発生し、結果は既に他の数式を使用しています。 App.OnError は、エラーをエンド ユーザーに報告する方法のみを制御します。 また、メーカーが望む場合にエラーをログに記録する方法も提供します。

このコードは App.OnError エラーの原因を特定するのに役立ちます:

Notify(
    Concatenate(
        FirstError.Message,
        ", Observed: ",
        FirstError.Observed,
        ", Source: ",
        FirstError.Source
    ),
    NotificationType.Error
)

次のステップ