Εξαίρεση ρίψης Python

Python Throw Exception



Μια εξαίρεση εμφανίζεται κατά την εκτέλεση του προγράμματος και αλλάζει την κανονική ροή του λόγω σφάλματος. Μια εξαίρεση προκύπτει λόγω σφάλματος. Η κύρια αιτία μιας εξαίρεσης είναι ένα λογικό σφάλμα. Όπως πολλές άλλες γλώσσες προγραμματισμού, η Python παρέχει αρκετές ενσωματωμένες εξαιρέσεις, δηλαδή ZeroDivisionError, ImportError, EOFError κ.λπ. για παράδειγμα, η εξαίρεση ZeroDivisionError αυξάνεται όταν ένας αριθμός διαιρείται με μηδέν. Οι εξαιρέσεις Python αντιμετωπίζονται από τη δοκιμαστική δήλωση. Ορίζουμε ένα μπλοκ δοκιμής και βάζουμε τον κωδικό ευάλωτου κώδικα μέσα σε αυτό το μπλοκ, ο οποίος μπορεί να δημιουργήσει μια εξαίρεση. Στη συνέχεια, μετά το μπλοκ try, ορίζουμε ένα αποκλειστικό μπλοκ για να αντιμετωπίσουμε την εξαίρεση. Εκτός από όλες αυτές τις ενσωματωμένες εξαιρέσεις, μερικές φορές χρειάζεται να αυξήσουμε ή να ρίξουμε μια εξαίρεση όταν συναντάμε μια συγκεκριμένη κατάσταση. Ο προγραμματιστής Python μπορεί εύκολα να εξαλείψει μια εξαίρεση που ορίζεται από τον χρήστη. Χρησιμοποιούμε το υψώνω λέξη -κλειδί για αύξηση ή απόρριψη μιας εξαίρεσης. Αυτό το άρθρο εξηγεί τη χρήση λέξεων -κλειδιών αύξησης Python για την εξαίρεση της εξαίρεσης με παραδείγματα.







Σύνταξη

Η σύνταξη για την εξαίρεση μιας εξαίρεσης είναι πολύ απλή και έχει ως εξής:



ΥψώνωΕξαίρεση(όποιοςμήνυμα)

Αφού γράψετε τη λέξη -κλειδί αύξησης, καθορίστε την εξαίρεσή σας.



Παράδειγμα χειρισμού εξαίρεσης

Κατ 'αρχάς, ας δούμε ένα παράδειγμα μπλοκ δοκιμών εκτός από το πώς μπορούμε να αντιμετωπίσουμε την ενσωματωμένη εξαίρεση Python και μετά από αυτό, θα δούμε ορισμένα παραδείγματα ρίψης ή αύξησης εξαιρέσεων Python. Στο παρακάτω παράδειγμα, έχουμε δημιουργήσει δύο μεταβλητές. Η τιμή της δεύτερης μεταβλητής είναι ίση με μηδέν. Όταν διαιρέσουμε το num1 με το num2, θα προκύψει ένα ZeroDivisionError. Ο κώδικας διαίρεσης θα δώσει μια εξαίρεση. Επομένως, τοποθετείται μέσα στο μπλοκ δοκιμής. Το αποκλειστικό μπλοκ πιάνει την εξαίρεση και εκτυπώνει το μήνυμα Παρουσιάστηκε απροσδόκητο σφάλμα.





#δήλωση μεταβλητής αριθμών
num1=είκοσι
#δήλωση μεταβλητής δεύτερου αριθμού
num2=0
#υλοποίηση του μπλοκ δοκιμής
προσπαθήστε:
αποτέλεσμα=num1/num2
εκτός:
Τυπώνω('Προέκυψε ένα μη αναμενόμενο σφάλμα')

Παραγωγή



Φέρτε ένα παράδειγμα εξαίρεσης

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

#δήλωση μεταβλητής αριθμών
num1=είκοσι
#δήλωση μεταβλητής δεύτερου αριθμού
num2=-10
αν(num2<0):
#αυξάνοντας μια εξαίρεση
υψώνω Εξαίρεση(«Ο αριθμός 2 δεν πρέπει να είναι αρνητικός αριθμός»)
αλλού:
αποτέλεσμα=num1/num2
Τυπώνω(αποτέλεσμα)

Παραγωγή

Η έξοδος δείχνει ότι η εξαίρεση Ο αριθμός 2 δεν πρέπει να είναι αρνητικός αριθμός αυξάνεται.

Μπορούμε επίσης να ορίσουμε τον τύπο του σφάλματος. Ας το ρίξουμε μια ματιά.

#δήλωση μεταβλητής αριθμών
num1=είκοσι
#δήλωση μεταβλητής δεύτερου αριθμού
num2=-10
αν(num2<0):
#αυξάνοντας μια εξαίρεση
υψώνω Τυπογραφικό λάθος('Το αρνητικό αριθμητικό σφάλμα')
αλλού:
αποτέλεσμα=num1/num2
Τυπώνω(αποτέλεσμα)

Παραγωγή

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

Ας δούμε ένα άλλο παράδειγμα απόρριψης μιας εξαίρεσης Python. Στο δεδομένο παράδειγμα, εάν η λίστα περιέχει οποιαδήποτε μη ακέραιη τιμή, τότε το πρόγραμμα ρίχνει μια εξαίρεση.

#δήλωση λίστας
η λίστα μου=[1,2,3,7.7,'xyz']
#υλοποίηση ενός βρόχου for
ΓιαΕγώσεη λίστα μου:
#έλεγχος του τύπου κάθε στοιχείου λίστας
αν δεν τύπος(Εγώ) είναι int:
#ρίχνοντας μια εξαίρεση εάν ο τύπος στοιχείου δεν είναι ακέραιος
υψώνω Εξαίρεση('Η λίστα περιέχει μη ακέραιες τιμές')
αλλού:
Τυπώνω(Εγώ)

Παραγωγή

συμπέρασμα

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