Ρίχνοντας τα δικά μας τύπους εξαιρέσεων στην Python

Οι εξαιρέσεις που υπάρχουν στην Python από προεπιλογή, δεν μπορούν πάντα να ικανοποιήσουν όλες τις ανάγκες μας σε διάφορες καταστάσεις. Επομένως, η Python έχει ενσωματωμένη τη δυνατότητα να δημιουργεί εξαιρέσεις του δικού της τύπου.

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

pythonclass Εξαίρεση(τύπος εξαίρεσης):
  pass

Ας δημιουργήσουμε τη δική μας κλάση ToBigLength για την υποδοχή πολύ μεγάλων λιστών. Στις παρενθέσεις αυτής της κλάσης θα γράψουμε τον τύπο της εξαίρεσης που θα πιάνει. Ας είναι η εξαίρεση Exception. Στο σώμα της κλάσης μπορούμε προς το παρόν να γράψουμε pass:

pythonclass ToBigLength(Exception):
  pass

Ας ελέγξουμε τη λειτουργία της εξαίρεσης που μόλις δημιουργήθηκε. Για να το κάνουμε αυτό, ας γράψουμε την κατασκευή try-except, και θα ρίξουμε τη δικιά μας εξαίρεση χρησιμοποιώντας την ειδική εντολή raise:

pythontry:
  raise ToBigLength
except ToBigLength:
  print('error: list is too big')

Μετά την εκτέλεση του κώδικα θα εμφανιστεί:

python'error: list is too big'
Задание 1

Δημιουργήστε μια εξαίρεση για την υποδοχή αρνητικού αριθμού.

Задание 2

Δημιουργήστε μια εξαίρεση για την υποδοχή του μηδενός.