Felhantering

Power Fx innehåller en förhandsgranskningsfunktion som möjliggör felhantering på formelnivå. Som standard är den här funktionen aktiverad i Inställningar.

Skärmbild av kommande funktioner i Inställningar som visar felhantering på formelnivå inställt på På.

Den här inställningen ger åtkomst till formler som IfError, IsError, Error och IsBlankorError. Med dessa funktioner kan du identifiera fel, ange alternativa värden eller vidta specifika åtgärder baserat på felet.

Hantera valideringsfel

Dessa funktioner hjälper till att validera indata som felaktiga format eller obligatoriska fält. Använd If-uttryck eller funktioner såsom IsBlank och IsError för att validera användarindata. Tillhandahåll tydliga felmeddelanden och förhindra att bearbetning fortsätter tills indata har korrigerats.

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

Hantera fel i funktionen Patch

På samma sätt som i föregående exempel hjälper Error-funktioner till att fånga upp fel när data uppdateras till en datakälla. Funktionen Patch rapporterar fel på två sätt.

Det kan returnera ett felvärde som resultat av åtgärderna.

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

Du kan identifiera fel med IsError och ersätta eller ignorera dem med 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)
)

Hantera formulärfel

När du använder Forms för att skicka data med SubmitForm-funktionen använder du Formulärkontrollegenskapen OnFailure för att meddela användarna om felmeddelanden.

// 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);

Anpassat felmeddelande med egenskapen OnError

Med Power Apps OnError egenskapen kan du samla in alla ohanterade fel i din app. Egenskapen OnError ger dig möjlighet att köra ett uttryck som körs varje gång ett fel inte hanteras av appen (till exempel att lagra det i en variabel eller använda en funktion som IfError att ersätta det med något annat värde). Användegenskapen OnError genom att lägga till den i appen där du vill använda den. Sedan kan du ange felmeddelandet som du vill visa genom att skriva en formel i egenskapsrutan OnError.

Det är viktigt att notera att App.OnErrorinte kan ersätta felet på samma sätt som IfError. Vid den punkt som App.OnError körs har felet redan inträffat och resultatet har spridits genom andra formler.  App.OnError styr endast hur felet rapporteras till slutanvändaren och tillhandahåller en möjlighet för tillverkaren att logga felet om så önskas.

Den här koden i App.OnError kan hjälpa dig att hitta källan till felet:

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

Power Fx-felhantering

Gå vidare