Sdílet prostřednictvím


Zpracování chyb

Power Fx podporuje zpracování chyb na úrovni vzorců. Tato funkce je ve výchozím nastavení zapnutá pro všechny nové aplikace. Některé starší aplikace ho ale můžou mít vypnuté v nastavení aplikace. Doporučujeme tuto funkci ponechat zapnutou.

Pokud chcete zkontrolovat, jestli je tato funkce zapnutá:

  1. Otevřete aplikaci plátna pro úpravy.
  2. Přejděte na kartu Nastavení>Aktualizace>Vyřazené.
  3. Ujistěte se, že je vypnutá možnost Deaktivovat správu na úrovni vzorců.

Pokud je toto nastavení povolené, můžete použít vzorce IfErrorjako , IsError, Errora IsBlankorError. Tyto funkce pomáhají zjišťovat chyby, poskytovat alternativní hodnoty nebo provádět konkrétní akce na základě chyby. Když toto nastavení zapnete, můžete do zdrojů dat zapisovat hodnoty null nebo prázdné hodnoty. Když tuto funkci vypnete, vrátí se chyby jako prázdné hodnoty.

Zpracování chyb ověření

Tyto funkce pomáhají ověřovat vstupy, jako jsou nesprávné formáty nebo povinná pole. Použijte příkazy nebo funkce If jako IsBlank a IsError pro ověření uživatelského vstupu. Poskytněte jasné chybové zprávy a zabraňte dalšímu zpracování, dokud nebude vstup opraven.

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

Zpracování chyb funkce Patch

Podobně jako v předchozím příkladu funkce Error pomáhají zachytit chyby při přenosu dat do zdroje dat. Funkce Patch hlásí chyby dvěma způsoby.

Může vrátit chybovou hodnotu jako výsledek operací.

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

Chyby můžete zjistit pomocí IsError a nahradit nebo potlačit pomocí .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)
)

Zpracování chyb ve formulářích

Když pomocí formulářů odešlete data pomocí SubmitForm funkce, pomocí vlastnosti OnFailure ovládacího prvku Formulář upozorněte uživatele na chybové zprávy.

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

Vlastní chybová zpráva pomocí vlastnosti OnError

Vlastnost Power Apps OnError zachycuje všechny neošetřené chyby v aplikaci. OnError Pomocí vlastnosti můžete spustit výraz pokaždé, když aplikace narazí na neošetřenou chybu. Například můžete uložit chybu do proměnné nebo použít funkci, jako je IfError, k nahrazení chyby jinou hodnotou. Pokud chcete tuto vlastnost použítOnError, přidejte ji do aplikace, ve které chcete zpracování chyb. Potom do pole vlastností napište vzorec OnError , který určuje chybovou zprávu, kterou chcete zobrazit.

App.OnError nemůže nahradit chybu tak, jak to dokáže IfError. Když App.OnError spouštíte, chyba už nastala, což znamená, že výsledek už prošel jinými vzorci. App.OnError Určuje, jak se chyba hlásí koncovému uživateli. Poskytuje také způsob, jak může výrobce zaznamenat chybu, pokud chce.

Tento kód na App.OnError může pomoci najít zdroj chyby:

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

Další krok