Megosztás a következőn keresztül:


Hibakezelés

A Power Fx támogatja a képletszintű hibakezelést. Ez a funkció alapértelmezés szerint be van kapcsolva az összes új alkalmazás esetében. Előfordulhat azonban, hogy egyes régebbi alkalmazások ki vannak kapcsolva az alkalmazásbeállításokban. Javasoljuk, hogy a funkció be legyen kapcsolva.

Annak ellenőrzéséhez, hogy a funkció be van-e kapcsolva:

  1. Nyisson meg egy vászonalapú alkalmazást szerkesztésre.
  2. Lépjen a Beállítások>frissítések>kivezetve lapra.
  3. Győződjön meg arról, hogy a képletszintű felügyelet letiltása ki van kapcsolva.

Ha ez a beállítás engedélyezve van, használhat olyan képleteket, mint a IfError, IsError, Errorés IsBlankorError. Ezek a függvények segítenek a hibák észlelésében, alternatív értékek megadásában vagy adott műveletek végrehajtásában a hiba alapján. Ha bekapcsolja ezt a beállítást, null vagy üres értékeket írhat adatforrásokra. Ha kikapcsolja ezt a funkciót, a rendszer üres értékként adja vissza a hibákat.

Érvényesítési hibák kezelése

Ezek a függvények segítenek ellenőrizni a bemeneteket, például a helytelen formátumokat vagy a kötelező mezőket. Használjon If olyan utasításokat vagy függvényeket, mint a IsBlank és a IsError felhasználói bevitel érvényesítéséhez. Adjon meg egyértelmű hibaüzeneteket, és akadályozza meg a további feldolgozást a bemenet kijavításáig.

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

Javítási funkció hibakezelése

Az előző példához Error hasonlóan a függvények segítenek észlelni a hibákat az adatok adatforrásba való javítása közben. A Patch függvény kétféleképpen jelenti a hibákat.

A műveletek eredményeként hibaértéket adhat vissza.

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

A hibák észleléséhez használja IsError és cserélje le vagy tiltsa le őket a használatával 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)
)

Űrlapok hibakezelése

Ha űrlapokkal küld adatokat a SubmitForm függvény használatával, az Űrlap vezérlőelem tulajdonság OnFailure használatával értesítheti a felhasználókat a hibaüzenetekről.

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

Egyéni hibaüzenet az OnError tulajdonság használatával

A Power Apps OnError tulajdonság rögzíti az alkalmazás összes kezeletlen hibáját. A OnError tulajdonság használatával minden alkalommal futtathat kifejezést, amikor az alkalmazás kezeletlen hibába ütközik. Tárolhatja például a hibát egy változóban, vagy használhat olyan függvényt, amely IfError a hibát egy másik értékre cseréli. A OnError tulajdonság használatához adja hozzá az alkalmazáshoz, ahol hibakezelést szeretne végrehajtani. Ezután írjon be egy képletet a OnError tulajdonságmezőbe a megjeleníteni kívánt hibaüzenet megadásához.

App.OnError nem tudja úgy kijavítani a hibát, mint ahogy a IfError képes rá. A App.OnError futtatásakor a hiba már megtörtént, és az eredmény már át lett számítva más képletek által. App.OnError csak azt szabályozza, hogy a hiba hogyan legyen jelentve a végfelhasználónak. Emellett lehetővé teszi a készítő számára, hogy szükség esetén naplózza a hibát.

Ez a kód App.OnError segíthet megtalálni a hiba forrását:

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

Következő lépés