Διαδρομές
/
C#
C#
/
Ύλη
/
Εξαιρέσεις ορισμένες από τον χρήστη
Εξ

Εξαιρέσεις ορισμένες από τον χρήστη σε C#

1 άσκηση

Σχετικά με την έννοια Εξαιρέσεις ορισμένες από τον χρήστη

Μια εξαίρεση ορισμένη από τον χρήστη είναι οποιαδήποτε κλάση ορίζεται στον κώδικά σου και παράγεται από την System.Exception. Υπόκειται σε όλους τους κανόνες της κληρονομικότητας κλάσεων, αλλά επιπλέον ο μεταγλωττιστής και το περιβάλλον εκτέλεσης της γλώσσας αντιμετωπίζουν αυτές τις κλάσεις με ειδικό τρόπο, επιτρέποντας στα στιγμιότυπά τους να πεταχτούν και να πιαστούν έξω από την κανονική ροή ελέγχου, όπως συζητείται στην άσκηση exceptions. Οι εξαιρέσεις ορισμένες από τον χρήστη μπορούν να χρησιμοποιηθούν με κάθε τρόπο, όπως οι εξαιρέσεις του περιβάλλοντος εκτέλεσης και της βιβλιοθήκης βασικών κλάσεων της Microsoft.

Αυτή η ειδική μεταχείριση ισχύει μόνο για κλάσεις που παράγονται από την Exception. Δεν μπορείς να πετάξεις στιγμιότυπα οποιουδήποτε άλλου τύπου.

Οι εξαιρέσεις ορισμένες από τον χρήστη χρησιμοποιούνται συχνά για να μεταφέρουν πρόσθετες πληροφορίες, όπως ένα μήνυμα και άλλα σχετικά δεδομένα, ώστε να είναι διαθέσιμα στις ρουτίνες σύλληψης. Αυτά μπορούν στη συνέχεια να καταγραφούν σε αρχεία καταγραφής, να αναφερθούν σε έναν χρήστη ή ίσως να χρησιμοποιηθούν σε μια λειτουργία επανάληψης. Η System.Exception έχει βολικά μέλη δεδομένων και κατάλληλους κατασκευαστές για να κρατούν ένα μήνυμα και την "εσωτερική" εξαίρεση.

Κατά σύμβαση, τα ονόματα των κλάσεων εξαιρέσεων τελειώνουν σε "Exception", π.χ. MyTerribleException.

Αν και η χρήση εξαιρέσεων ορισμένων από τον χρήστη για να τυλίξουν και να εμπλουτίσουν εξαιρέσεις τρίτων είναι ένα συχνά εμφανιζόμενο μοτίβο, η γενική συμβουλή είναι να μην τις χρησιμοποιείς υπερβολικά στον δικό σου κώδικα έξω από αυτή την περίπτωση χρήσης. Θεωρείται αντι-πρότυπο. Υπάρχουν αντιρρήσεις σε αυτή την άποψη και μπορείς να δεις και τις δύο πλευρές του επιχειρήματος σε αυτή τη δημοσίευση στο Stack Exchange.

Αυτό το άρθρο είναι μια καλή εισαγωγή στις εξαιρέσεις ορισμένες από τον χρήστη.

Στο πλαίσιο των οδηγιών της για τη δημιουργία και το πέταγμα εξαιρέσεων, η ομάδα του .NET συνιστά οι εξαιρέσεις ορισμένες από τον χρήστη να έχουν έναν αριθμό εύχρηστων κατασκευαστών. Για τις περισσότερες περιπτώσεις, ο συνδυασμός που φαίνεται παρακάτω είναι κατάλληλος.

public class IncompleteExerciseException : System.Exception
{
    public IncompleteExerciseException() : base() { }
    public IncompleteExerciseException(string message) : base(message) { }
    public IncompleteExerciseException(string message, System.Exception inner) : base(message, inner) { }
}
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Εξαιρέσεις ορισμένες από τον χρήστη