Βίντεο: 2019 SNF Conference Day 2 Part 3 (ENG) 2024
Η Python παρέχει μια πληθώρα τυποποιημένων εξαιρέσεων που θα πρέπει να χρησιμοποιείτε όποτε είναι δυνατόν. Αυτές οι εξαιρέσεις είναι εξαιρετικά ευέλικτες και μπορείτε να τις τροποποιήσετε ανάλογα με τις ανάγκες σας (για λόγους) για να καλύψετε συγκεκριμένες ανάγκες.
Ωστόσο, μερικές φορές απλά πρέπει να δημιουργήσετε μια εξατομικευμένη εξαίρεση επειδή δεν θα λειτουργήσει καμία από τις τυπικές εξαιρέσεις. Ίσως το όνομα της εξαίρεσης απλά δεν λέει στον θεατή τον σκοπό που εξυπηρετεί η εξαίρεση. Μπορεί να χρειαστείτε εξατομικευμένη εξαίρεση για εξειδικευμένη εργασία βάσης δεδομένων ή όταν εργάζεστε με μια υπηρεσία.
Αυτό το παράδειγμα δείχνει μια γρήγορη μέθοδο για τη δημιουργία των δικών σας εξαιρέσεων. Για να εκτελέσετε αυτήν την εργασία, πρέπει να δημιουργήσετε μια κλάση που χρησιμοποιεί μια υπάρχουσα εξαίρεση ως σημείο εκκίνησης. Για να καταστήσουμε τα πράγματα λίγο πιο εύκολα, αυτό το παράδειγμα δημιουργεί μια εξαίρεση που βασίζεται στη λειτουργικότητα που παρέχεται από την εξαίρεση ValueError.
Το πλεονέκτημα της χρήσης αυτής της προσέγγισης είναι ότι αυτή η προσέγγιση λέει σε όποιον σας ακολουθεί ακριβώς τι είναι η προσθήκη στην εξαίρεση ValueError. Επιπλέον, καθιστά ευκολότερη τη χρήση της τροποποιημένης εξαίρεσης.
-
Ανοίξτε ένα παράθυρο αρχείου Python.
Εμφανίζεται ένας επεξεργαστής στον οποίο μπορείτε να πληκτρολογήσετε τον παράδειγμα κώδικα.
-
Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατώντας Enter μετά από κάθε γραμμή:
class CustomValueError (ValueError): def __init __ (self, arg): self. strerror = arg self. args = {arg} try: raise CustomValueError ("Η τιμή πρέπει να είναι εντός 1 και 10.") εκτός από το CustomValueError ως e: print και το αργότερο έτσι ώστε ο προγραμματιστής να έχει πρόσβαση είτε (όπως συμβαίνει κανονικά).
Παρατηρήστε ότι το χαρακτηριστικό strerror έχει την τιμή που έχει εκχωρηθεί απευθείας σε αυτό, αλλά το args το λαμβάνει ως πίνακα. Το μέλος args περιέχει κανονικά μια σειρά από όλες τις τιμές εξαίρεσης, γι 'αυτό είναι τυπική διαδικασία, ακόμα και όταν το args περιέχει μόνο μία τιμή όπως συμβαίνει τώρα.
Ο κώδικας για τη χρήση της εξαίρεσης είναι πολύ πιο εύκολος από την άμεση τροποποίηση του ValueError. Το μόνο που κάνετε είναι να αυξήσετε την κλήση με το όνομα της εξαίρεσης και τα επιχειρήματα που θέλετε να περάσετε, όλα σε μια γραμμή.
Επιλέξτε Run → Run Module.
-
Βλέπετε ένα παράθυρο Python Shell ανοιχτό.Η εφαρμογή εμφανίζει την ακολουθία χαρακτήρων, μαζί με τον αριθμό επιστολής.