Χειρισμός σφαλμάτων

Το Power Fx υποστηρίζει χειρισμό σφαλμάτων σε επίπεδο τύπου. Αυτή η δυνατότητα είναι ενεργοποιημένη από προεπιλογή για όλες τις νέες εφαρμογές. Ωστόσο, ορισμένες παλαιότερες εφαρμογές μπορεί να την έχουν απενεργοποιήσει στις Ρυθμίσεις εφαρμογής. Συνιστούμε να διατηρείτε αυτήν τη δυνατότητα ενεργοποιημένη.

Για να ελέγξετε εάν αυτή η δυνατότητα είναι ενεργοποιημένη:

  1. Ανοίξτε μια εφαρμογή καμβά για επεξεργασία.
  2. Μεταβείτε στην καρτέλα Ρυθμίσεις>Ενημερώσεις>που αποσύρθηκαν .
  3. Βεβαιωθείτε ότι η απενεργοποίηση της διαχείρισης σε επίπεδο τύπου είναι απενεργοποιημένη.

Όταν αυτή η ρύθμιση είναι ενεργοποιημένη, μπορείτε να χρησιμοποιήσετε τύπους όπως IfError, IsError, Errorκαι IsBlankorError. Αυτές οι συναρτήσεις σάς βοηθούν να εντοπίζετε σφάλματα, να παρέχετε εναλλακτικές τιμές ή να κάνετε συγκεκριμένες ενέργειες με βάση το σφάλμα. Όταν ενεργοποιείτε αυτήν τη ρύθμιση, μπορείτε να συντάξετε τιμές null ή κενές σε προελεύσεις δεδομένων. Όταν απενεργοποιείτε αυτήν τη δυνατότητα, επιστρέφονται σφάλματα ως κενές τιμές.

Χειρισμός σφάλματος επικύρωσης

Αυτές οι λειτουργίες βοηθούν στην επικύρωση εισόδων, όπως εσφαλμένες μορφές ή απαιτούμενα πεδία. Χρησιμοποιήστε δηλώσεις If ή συναρτήσεις IsBlank και IsError για να επικυρώσετε τα δεδομένα εισόδου του χρήστη. Δώστε ξεκάθαρα μηνύματα σφάλματος και εμποδίστε την περαιτέρω επεξεργασία έως ότου τα δεδομένα εισόδου διορθωθούν.

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

Χειρισμός σφάλματος συνάρτησης επιθέματος

Παρόμοια με το προηγούμενο παράδειγμα, οι Error συναρτήσεις βοηθούν στον εντοπισμό σφαλμάτων κατά την επιδιόρθωση δεδομένων σε μια προέλευση δεδομένων. Η Patch συνάρτηση αναφέρει σφάλματα με δύο τρόπους.

Μπορεί να επιστρέψει μια τιμή σφάλματος ως αποτέλεσμα των λειτουργιών.

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

Μπορείτε να εντοπίσετε σφάλματα χρησιμοποιώντας IsError και αντικαταστήστε ή καταπιέστε τα χρησιμοποιώντας το 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)
)

Χειρισμός σφαλμάτων φορμών

Όταν χρησιμοποιείτε φόρμες για την υποβολή δεδομένων χρησιμοποιώντας τη SubmitForm συνάρτηση, χρησιμοποιήστε την ιδιότητα OnFailure στοιχείου ελέγχου Φόρμα για να ειδοποιήσετε τους χρήστες για μηνύματα σφάλματος.

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

Η ιδιότητα Power Apps OnError καταγράφει όλα τα σφάλματα χωρίς διαχείριση στην εφαρμογή σας. Χρησιμοποιώντας την OnError ιδιότητα, μπορείτε να εκτελέσετε μια παράσταση κάθε φορά που η εφαρμογή αντιμετωπίζει ένα σφάλμα χωρίς διαχείριση. Για παράδειγμα, μπορείτε να αποθηκεύσετε το σφάλμα σε μια μεταβλητή ή να χρησιμοποιήσετε μια συνάρτηση όπως IfError για να αντικαταστήσετε το σφάλμα με μια άλλη τιμή. Για να χρησιμοποιήσετε την OnError ιδιότητα, προσθέστε την στην εφαρμογή όπου θέλετε να χειριστείτε σφάλματα. Στη συνέχεια, γράψτε έναν τύπο στο OnError πλαίσιο ιδιότητας για να καθορίσετε το μήνυμα σφάλματος που θέλετε να εμφανίσετε.

App.OnError δεν μπορεί να αντικαταστήσει το σφάλμα όπως IfError είναι δυνατό. Όταν App.OnError εκτελείται, το σφάλμα έχει ήδη συμβεί και το αποτέλεσμα έχει ήδη περάσει από άλλους τύπους. App.OnError Ελέγχει μόνο τον τρόπο με τον οποίο το σφάλμα αναφέρεται στον τελικό χρήστη. Παρέχει επίσης έναν τρόπο για να καταγράφει το σφάλμα ο δημιουργός, εάν το θέλει.

Αυτός ο κώδικας στο App.OnError μπορεί να βοηθήσει στον εντοπισμό της προέλευσης του σφάλματος:

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

Επόμενο βήμα