Obravnava napak

Power Fx podpira obravnavo napak na ravni formul. Ta funkcija je privzeto vklopljena za vse nove aplikacije. Vendar pa imajo nekatere starejše aplikacije to morda izklopljeno v nastavitvah aplikacije. Priporočamo, da to funkcijo ohranite vklopljeno.

Za preverjanje, ali je ta funkcija vklopljena:

  1. Odpri aplikacijo Canvas za urejanje.
  2. Pojdi na zavihek Nastavitve>Posodobitve>upokojena .
  3. Prepričajte se, da je izklopljeno upravljanje na ravni formule .

Ko je ta nastavitev omogočena, lahko uporabite formule, kot so IfError, IsError, Error, in IsBlankorError. Te funkcije vam pomagajo zaznati napake, zagotoviti alternativne vrednosti ali izvesti specifične ukrepe na podlagi napake. Ko vklopite to nastavitev, lahko v podatkovne vire zapišete ničelne ali prazne vrednosti. Ko to funkcijo izklopite, se napake vrnejo kot prazne vrednosti.

Obravnavanje napak pri preverjanju veljavnosti

Te funkcije pomagajo pri preverjanju vnosov, kot so napačne oblike ali obvezna polja. Za preverjanje uporabniškega vnosa uporabite stavke ali funkcije, kot sta If in IsBlank . IsError Zagotovite jasna sporočila o napakah in preprečite nadaljnjo obdelavo, dokler vnos ni popravljen.

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

Obravnavanje napak funkcije popravka

Podobno kot v prejšnjem primeru tudi funkcije Error pomagajo pri odkrivanju napak med popravljanjem podatkov v viru podatkov. Funkcija poroča o napakah na dva načina. Patch

Kot rezultat operacij lahko vrne vrednost napake.

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

Napake lahko zaznate z uporabo in IsError jih zamenjate ali potlačite z uporabo .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)
)

Obravnavanje napak v obrazcih

Ko uporabite Forms za oddajo podatkov s funkcijo SubmitForm , uporabite lastnost OnFailure Shape control za obveščanje uporabnikov o sporočilih o napakah.

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

Prilagojeno sporočilo o napaki z uporabo lastnosti OnError

Lastnost Power Apps OnError zajame vse neobdelane napake v vaši aplikaciji. Z uporabo OnError te lastnosti lahko zaženete izraz vsakič, ko aplikacija naleti na neobdelano napako. Na primer, napako lahko shranite v spremenljivko ali uporabite funkcijo, na primer IfError za zamenjavo napake z drugo vrednostjo. Za uporabo OnError lastnosti jo dodajte v aplikacijo, kjer želite obravnavati napake. Nato v polje lastnosti zapišite formulo OnError , da določite sporočilo o napaki, ki ga želite prikazati.

App.OnError Napake ne morem nadomestiti kot IfError Can. Ko App.OnError se zažene, se je napaka že zgodila in rezultat je šel skozi druge formule. App.OnError nadzoruje le, kako se napaka poroča končnemu uporabniku. Omogoča tudi proizvajalcu, da napako zabeleži, če želi.

Ta koda na App.OnError lahko pomaga najti vir napake:

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

Naslednji korak