Tõrketöötlus

Power Fx toetab valemitasemel veakäsitlust. See funktsioon on vaikimisi sisse lülitatud kõigi uute rakenduste puhul. Kuid mõnel vanemal rakendusel võib see rakenduse seadetes välja lülitada. Soovitame seda funktsiooni sisse lülitatuna hoida.

Et kontrollida, kas see funktsioon on sisse lülitatud:

  1. Ava lõuendi rakendus redigeerimiseks.
  2. Mine vahekaardile Seaded>Uuendused>Pensionile .
  3. Veendu, et valemitaseme halduse keelamine on välja lülitatud.

Kui see seade on lubatud, saad kasutada valemeid nagu IfError, IsError, Error, ja IsBlankorError. Need funktsioonid aitavad tuvastada vigu, pakkuda alternatiivseid väärtusi või võtta konkreetseid meetmeid vastavalt veale. Kui selle seade sisse lülitada, saad andmeallikatesse kirjutada null- või tühje väärtusi. Kui selle funktsiooni välja lülitada, tagastatakse vead tühjade väärtustena.

Valideerimisvigade käsitlemine

Need funktsioonid aitavad valideerida sisendeid, nagu valed vormingud või kohustuslikud väljad. Kasutage If lauseid või funktsioone nagu IsBlank ja IsError kasutaja sisendi valideerimiseks. Esitage selged veateated ja vältige edasist töötlemist kuni sisendi parandamiseni.

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

Paigafunktsiooni veakäsitlus

Sarnaselt eelmisele näitele Error aitavad funktsioonid andmeallikasse andmete parandamisel vigu tuvastada. Funktsioon Patch teatab tõrgetest kahel viisil.

See võib toimingute tulemusel tagastada veaväärtuse.

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

Vigu saab tuvastada, asendada IsError või summutada, IfErrorkasutades .

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

Vormide tõrgete käsitlemine

Kui kasutad Formsi andmete esitamiseks SubmitForm funktsiooni kaudu, kasuta Form control omadust OnFailure , et teavitada kasutajaid veateadetest.

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

Kohandatud veateade, kasutades OnError omadust

Power Apps OnError omadus salvestab kõik sinu rakenduses lahendamata vead. Selle omaduse OnError abil saad käivitada avaldise iga kord, kui rakendus kohtab lahendamata vea. Näiteks saad vea salvestada muutujasse või kasutada funktsiooni, et IfError asendada viga mõne teise väärtusega. Omaduse kasutamiseks OnErrorlisa see rakendusse, kus soovid vigu töödelda. Seejärel kirjuta omaduste OnError kasti valem, mis määrab veateade, mida soovid kuvada.

App.OnError Viga ei saa asendada nii nagu IfError saan. Kui App.OnError käivitub, on viga juba juhtunud ja tulemus läks läbi teiste valemite. App.OnError kontrollib ainult seda, kuidas viga lõppkasutajale teatatakse. See annab ka võimaluse loojale vea logida, kui ta soovib.

See kood App.OnError aitab leida vea allika:

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

Järgmine etapp