Dalintis per


Klaidų apdorojimas

Power Fx Apima peržiūros funkciją, kuri įgalina formulės lygio klaidų apdorojimą. Pagal numatytuosius nustatymus ši funkcija įjungta nustatymuose.

Parametrų būsimų funkcijų ekrano nuotrauka, kurioje rodoma, kad formulės lygio klaidų valdymas nustatytas kaip Įjungta.

Šis parametras suteikia prieigą prie formulių, pvz., IfError, IsError, Error, ir IsBlankorError. Šios funkcijos leidžia aptikti klaidas, pateikti alternatyvias vertes arba imtis konkrečių veiksmų pagal klaidą.

Tikrinimo klaidų tvarkymas

Šios funkcijos padeda patikrinti įvestis, pvz., neteisingus formatus arba privalomus laukus. Naudokite If teiginius arba funkcijas, pvz., IsBlank ir IsError tikrinkite vartotojo įvestį. Pateikite aiškius klaidų pranešimus ir neleiskite tolesniam apdorojimui, kol įvestis nebus ištaisyta.

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

Pataisos funkcijos klaidų tvarkymas

Panašiai kaip ir ankstesniame pavyzdyje, Error funkcijos padeda aptikti klaidas taisant duomenis į duomenų šaltinį. Funkcija Patch praneša apie klaidas dviem būdais.

Jis gali grąžinti klaidos reikšmę kaip operacijų rezultatą.

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

Galite aptikti klaidas ir IsError jas pakeisti arba nuslopinti 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)
)

Formų klaidų tvarkymas

Kai naudojate Formas duomenims su SubmitForm funkcija pateikti, naudokite ypatybę OnFailure Formos valdiklis, kad praneštumėte vartotojams apie klaidų pranešimus.

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

Pasirinktinis klaidos pranešimas su ypatybe OnError

Naudodami Power Apps OnError nuosavybę galite užfiksuoti visas neapdorotas programos klaidas. Ypatybė OnError suteikia galimybę vykdyti išraišką, kuri vykdoma kiekvieną kartą, kai programa neapdoroja klaidos (pvz., saugoti ją kintamajame arba naudoti funkciją, pvz., IfError pakeisti ją kita reikšme). Norėdami naudoti OnError nuosavybę, turite ją įtraukti į programą, kuriai norite ją pritaikyti. Tada galite nurodyti klaidos pranešimą, kurį norite rodyti, įrašydami formulę OnError ypatybių lauke.

Svarbu pažymėti, kad App.OnError klaidos negalima pakeisti taip IfError , kaip gali. Tuo metu, kai App.OnError vykdoma, klaida jau įvyko, o rezultatas išplito per kitas formules.  App.OnError tik kontroliuoja, kaip apie klaidą pranešama galutiniam vartotojui, ir suteikia kabliuką kūrėjui, kad jis galėtų užregistruoti klaidą, jei to pageidauja.

Šis įjungtas App.OnError kodas gali padėti rasti klaidos šaltinį:

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

Power Fx klaidų tvarkymas

Tolesnis veiksmas