Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 2721|Απάντηση: 0

[ASP.NET] Το ASP.NET Core 8 χρησιμοποιεί το IExceptionHandler για καθολικό χειρισμό εξαιρέσεων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 3/6/2024 9:21:04 π.μ. | | | |
Απαιτήσεις: Προκειμένου να διατηρηθεί μια συνεπής μορφή δεδομένων απόκρισης αιτήματος με το front-end, το back-end πρέπει να μορφοποιήσει την καθολική εξαίρεση και, στη συνέχεια, το front-end λαμβάνει τις πληροφορίες εξαίρεσης και παρέχει φιλικές προτροπές.

Πριν βγει το IExceptionHandler, πρέπει να γράψουμε μια εξαίρεση που να πιάνει το ενδιάμεσο λογισμικό και ο κώδικας του ενδιάμεσου λογισμικού χρησιμοποιεί το try-catch για να πιάσει και να απαντήσει.

ASP.NET Το Core 8 εισάγει νέα για τη διαχείριση εξαιρέσεωνIExceptionHandlerΑφηρημένος. Το ενδιάμεσο λογισμικό του ενσωματωμένου προγράμματος χειρισμού εξαιρέσεων χρησιμοποιεί την υλοποίηση IExceptionHandler για το χειρισμό εξαιρέσεων.

Η διεπαφή έχει μόνο μία μέθοδο TryHandleAsync.

Το TryHandleAsync επιχειρεί να χειριστεί την καθορισμένη εξαίρεση στη διοχέτευση ASP.NET Core. Εάν η εξαίρεση μπορεί να αντιμετωπιστεί, θα πρέπει να επιστρέψει true. Εάν δεν είναι δυνατός ο χειρισμός της εξαίρεσης, θα πρέπει να επιστραφεί το false. Αυτό σας επιτρέπει να εφαρμόσετε προσαρμοσμένη λογική χειρισμού εξαιρέσεων για διαφορετικά σενάρια.

Όταν ο ελεγκτής μας κάνει μια εξαίρεση, ο κωδικός είναι ο εξής:

Εάν δεν χειρίζεστε εξαιρέσεις, η προεπιλεγμένη απόκριση στο περιβάλλον παραγωγής είναι η εξής:



Δημιουργήστε ένα νέο πρόγραμμα χειρισμού εξαιρέσεων GlobalExceptionHandler με τον ακόλουθο κώδικα:

Στη συνέχεια, καταχωρείται το πρόγραμμα χειρισμού εξαιρέσεων και ο κώδικας έχει ως εξής:

Προσπάθησα να αποκτήσω πρόσβαση στον ελεγκτή εξαιρέσεων και η απάντηση ήταν η εξής:



Αναφορά:

Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.





Προηγούμενος:Η σειρά Angular 17 (XVII) ανιχνεύει αλλαγές στις τιμές @Input
Επόμενος:Η διαφορά μεταξύ DateTime και DateTimeOffset στο .NET/C#
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com