Ρίχνοντας τα δικά μας τύπους εξαιρέσεων στην Python
Οι εξαιρέσεις που υπάρχουν στην Python από προεπιλογή, δεν μπορούν πάντα να ικανοποιήσουν όλες τις ανάγκες μας σε διάφορες καταστάσεις. Επομένως, η Python έχει ενσωματωμένη τη δυνατότητα να δημιουργεί εξαιρέσεις του δικού της τύπου.
Για να δημιουργήσετε μια εξαίρεση, πρέπει να δηλώσετε
μια ειδική κλάση αντικειμενοστραφούς προγραμματισμού χρησιμοποιώντας τη λέξη-κλειδί
class. Δεξιά από αυτήν
γράφεται το όνομα της εξαίρεσης, και μετά το όνομα
σε παρενθέσεις - ο τύπος της εξαίρεσης:
class Εξαίρεση(τύπος εξαίρεσης):
pass
Ας δημιουργήσουμε τη δική μας κλάση ToBigLength
για την υποδοχή πολύ μεγάλων λιστών. Στις
παρενθέσεις αυτής της κλάσης θα γράψουμε
τον τύπο της εξαίρεσης που θα πιάνει.
Ας είναι η εξαίρεση Exception.
Στο σώμα της κλάσης μπορούμε προς το παρόν να γράψουμε pass:
class ToBigLength(Exception):
pass
Ας ελέγξουμε τη λειτουργία της εξαίρεσης που μόλις δημιουργήθηκε.
Για να το κάνουμε αυτό, ας γράψουμε την κατασκευή
try-except, και θα ρίξουμε τη δικιά μας εξαίρεση
χρησιμοποιώντας την ειδική εντολή raise:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
Μετά την εκτέλεση του κώδικα θα εμφανιστεί:
'error: list is too big'
Δημιουργήστε μια εξαίρεση για την υποδοχή αρνητικού αριθμού.
Δημιουργήστε μια εξαίρεση για την υποδοχή του μηδενός.