Βίντεο: Week 9 2024
Μια στρατηγική για το χειρισμό εξαιρέσεων στην Python είναι να παρέχετε συγκεκριμένες εξαιρέσεις για όλες τις γνωστές εξαιρέσεις και γενικά εκτός από τις ρήτρες για χειρισμό άγνωστων εξαιρέσεων. Ελέγξτε την ιεραρχία εξαιρέσεων που χρησιμοποιεί η Python. Κατά την προβολή αυτού του διαγράμματος, το BaseException είναι η ανώτατη εξαίρεση. Οι περισσότερες εξαιρέσεις προέρχονται από την εξαίρεση. Όταν χρησιμοποιείτε λάθη μαθηματικών, μπορείτε να χρησιμοποιήσετε τη γενική ArithmeticError ή μια πιο συγκεκριμένη εξαίρεση του ZeroDivisionError.
Η Python αξιολογεί εκτός από τις ρήτρες με τη σειρά με την οποία εμφανίζονται στο αρχείο πηγαίου κώδικα. Η πρώτη ρήτρα εξετάζεται πρώτα, η δεύτερη ρήτρα εξετάζεται δεύτερη, και ούτω καθεξής. Τα παρακάτω βήματα σας βοηθούν να εξετάσετε ένα παράδειγμα που δείχνει τη σημασία της χρήσης της σωστής σειράς εξαίρεσης. Σε αυτήν την περίπτωση, εκτελείτε εργασίες που έχουν ως αποτέλεσμα μαθηματικά σφάλματα.
-
Ανοίξτε ένα παράθυρο αρχείου Python.
Εμφανίζεται ένας επεξεργαστής στον οποίο μπορείτε να πληκτρολογήσετε τον παράδειγμα κώδικα.
-
δοκιμάστε: Value1 = int (είσοδος ("Πληκτρολογήστε τον πρώτο αριθμό:") Πληκτρολογήστε τον δεύτερο αριθμό: ")) Έξοδος = Value1 / Value2 εκτός από ValueError: print (" Πρέπει να πληκτρολογήσετε έναν ολόκληρο αριθμό! ") Εκτός από KeyboardInterrupt: print "Εκτός από το ZeroDivisionError: print (" Προσπάθεια διαίρεσης με μηδέν! ") else: print (Output)
Ο κώδικας αρχίζει με τη λήψη δύο εισόδων: Value1 και Value2. Οι δύο πρώτες, εκτός από τις ρήτρες, χειρίζονται την απροσδόκητη εισαγωγή. Τα δεύτερα δύο εκτός από τις ρήτρες χειρίζονται εξαιρέσεις μαθηματικών, όπως διαίρεση με μηδέν. Αν όλα πάνε καλά με την εφαρμογή, εκτελείται η ρήτρα else, η οποία εκτυπώνει το αποτέλεσμα της λειτουργίας.
-
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή σάς ζητά να πληκτρολογήσετε τον πρώτο αριθμό.
Πληκτρολογήστε Hello και πατήστε Enter.
-
Όπως αναμένεται, η Python εμφανίζει το μήνυμα εξαίρεσης ValueError. Ωστόσο, πάντοτε πληρώνει για να ελέγξει για πιθανά προβλήματα.
Επιλέξτε Run → Run Module ξανά.
-
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή σάς ζητά να πληκτρολογήσετε τον πρώτο αριθμό.
Πληκτρολογήστε 8 και πατήστε Enter.
-
Η εφαρμογή σας ζητά να εισαγάγετε τον δεύτερο αριθμό.
Πληκτρολογήστε 0 και πατήστε Enter.
-
Εμφανίζεται το μήνυμα σφάλματος για την εξαίρεση ArithmeticError. Αυτό που πρέπει να δείτε είναι η εξαίρεση του ZeroDivisionError επειδή είναι πιο συγκεκριμένη από την εξαίρεση ArithmeticError.
Αντιστρέψτε τη σειρά των δύο εξαιρέσεων έτσι ώστε να μοιάζουν με αυτό:
-
εκτός από το ZeroDivisionError: print ("Προσπάθεια διαίρεσης με μηδέν!") Εκτός από ArithmeticError: print > Εκτελέστε τα βήματα 5 έως 7 ξανά.
Αυτή τη φορά, βλέπετε το μήνυμα εξαίρεσης ZeroDivisionError επειδή οι εξαιρέσεις εμφανίζονται με τη σωστή σειρά.
-
Εκτελέστε ξανά τα βήματα 5 έως 7, αλλά πληκτρολογήστε 2 για τον δεύτερο αριθμό αντί για 0.
Αυτή τη φορά, η εφαρμογή αναφέρει τελικά μια τιμή εξόδου 4. 0.
-
Παρατηρήστε ότι η έξοδος είναι ένα floating- σημειακή τιμή. Η διαίρεση έχει ως αποτέλεσμα μια τιμή κυμαινόμενου σημείου, εκτός αν καθορίζετε ότι θέλετε μια ακέραια έξοδο χρησιμοποιώντας τον χειριστή διαχωρισμού δαπέδου (//).