Aracılığıyla paylaş


Hata işleme

Power Fx, formül düzeyinde hata işlemeyi etkinleştiren bir önizleme özelliği içerir. Varsayılan olarak bu özellik Ayarlar'da açıktır.

Ayarlar'da Formül düzeyinde hata yönetiminin Açık olarak ayarlandığını gösteren Yakında sunulacak özelliklerin ekran görüntüsü.

Bu ayar IfError, IsError, Error ve IsBlankorError gibi formüllere erişim sağlar. Bu işlevler hataları algılamanıza, alternatif değerler sağlamanıza veya hataya göre belirli eylemler gerçekleştirmenize olanak tanır.

Doğrulama hatası işleme

Bu işlevler, yanlış biçimler veya gerekli alanlar gibi girdilerin doğrulanmasına yardımcı olur. Kullanıcı girişini doğrulamak için If ifadelerini veya IsBlank ve IsError gibi işlevleri kullanın. Açık hata iletileri sağlayın ve giriş düzeltilene kadar işlemlerin devam etmesini engelleyin.

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

Yama işlevi hata işleme

Önceki örneğe benzer şekilde, Error fonksiyonları bir veri kaynağına veri yamalama sırasında hataları yakalamaya yardımcı olur. Patch işlevi, hataları iki şekilde bildirir.

İşlemlerin sonucunda hata değeri döndürülebilir.

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

Hataları IsError ile tespit edebilir ve bunları IfError ile değiştirebilir veya bastırabilirsiniz.

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 hatalarının işlenmesi

Formları SubmitForm fonksiyonu ile veri göndermek için kullandığınızda, kullanıcıları hata mesajları konusunda bilgilendirmek için Form kontrol özelliği OnFailure'yi kullanın.

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

OnError özelliğiyle özel hata mesajı

Power Apps OnError özelliği, uygulamanızdaki işlenmemiş tüm hataları yakalamanızı sağlar. OnError özelliği, uygulama tarafından her hata işlenmediğinde çalışan bir ifadeyi yürütme yeteneği sağlar (örneğin, hatayı bir değişkende depolamak veya başka bir değerle değiştirmek için IfError gibi bir işlev kullanmak). OnError özelliğini kullanmak için uygulamak istediğiniz uygulamaya eklemeniz gerekir. Ardından OnError özellik kutusuna formül yazarak görüntülemek istediğiniz hata iletisini belirtebilirsiniz.

Burada önemli olan nokta, App.OnError'in IfError gibi hatayı değiştiremeyeceğidir. App.OnError'in yürütüldüğü noktada, hata zaten gerçekleşmiştir ve sonuç diğer formüller aracılığıyla yayılmıştır.  App.OnError yalnızca hatanın son kullanıcıya nasıl bildirildiğini denetler ve istenirse geliştiricinin hatayı günlüğe kaydetmesi için bir bağlantı noktası sağlar.

App.OnError işlevindeki bu kod, hatanın kaynağını bulmaya yardımcı olabilir:

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

Power Fx hata işleme

Sonraki adım