Πίνακας περιεχομένων:
- 1Ανοίξτε ένα παράθυρο αρχείου Python.
- 2 Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατήστε Enter μετά από κάθε γραμμή:
- Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.
- Η εφαρμογή εμφανίζει ένα μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.
- Η εφαρμογή σας ζητά να εισαγάγετε ξανά έναν ολόκληρο αριθμό.
- Η εφαρμογή εμφανίζει και πάλι το μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.
- Η εφαρμογή τελειώνει. Παρατηρήστε ότι το μήνυμα είναι αυτό από την εσωτερική εξαίρεση. Η εφαρμογή δεν παίρνει ποτέ την εξωτερική εξαίρεση επειδή ο χειριστής εσωτερικής εξαίρεσης παρέχει γενική εξαίρεση.
- Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.
- Η εφαρμογή τελειώνει. Παρατηρήστε ότι το μήνυμα είναι αυτό από την εξωτερική εξαίρεση. Στα πρώτα βήματα, ο χρήστης τερματίζει την εφαρμογή πατώντας ένα πλήκτρο διακοπής. Ωστόσο, η εφαρμογή χρησιμοποιεί δύο διαφορετικούς διαχειριστές εξαιρέσεων για την αντιμετώπιση του προβλήματος.
Βίντεο: Week 9 2024
Μερικές φορές θα πρέπει να τοποθετήσετε μια ρουτίνα χειρισμού εξαιρέσεων σε μια άλλη σε μια διαδικασία που ονομάζεται φωλιά. Όταν ανοίγετε ρουτίνες χειρισμού εξαιρέσεων, η Python προσπαθεί πρώτα να βρει πρώτα ένα χειριστή εξαίρεσης στο ένθετο επίπεδο και στη συνέχεια να μετακινηθεί στα εξωτερικά στρώματα. Μπορείτε να ενσωματώσετε ρουτίνες χειρισμού εξαιρέσεων τόσο βαθιά όσο χρειάζεται για να καταστήσετε τον κώδικα σας ασφαλή.
Ένας από τους πιο συνηθισμένους λόγους για να χρησιμοποιήσετε ένα διπλό επίπεδο κώδικα χειρισμού εξαιρέσεων είναι όταν θέλετε να λάβετε πληροφορίες από έναν χρήστη και πρέπει να τοποθετήσετε τον κωδικό εισόδου σε ένα βρόχο για να διασφαλίσετε ότι θα λάβετε πραγματικά τις απαιτούμενες πληροφορίες. Τα παρακάτω βήματα δείχνουν πώς μπορεί να λειτουργήσει αυτό το είδος κώδικα.
1Ανοίξτε ένα παράθυρο αρχείου Python.
Εμφανίζεται ένας επεξεργαστής στον οποίο μπορείτε να πληκτρολογήσετε τον παράδειγμα κώδικα.
2 Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατήστε Enter μετά από κάθε γραμμή:
TryAgain = True κατά την TryAgain: δοκιμάστε: Value = int (πληκτρολογήστε ολόκληρο τον αριθμό) πρέπει να πληκτρολογήσετε έναν ολόκληρο αριθμό!) δοκιμάστε: DoOver = είσοδος ("Δοκιμάστε ξανά (y / n);") εκτός από: print (" DoOver) == "N"): TryAgain = False εκτός από το KeyboardInterrupt: print ("Είσαι πατημένο το Ctrl + C! > Ο κώδικας αρχίζει με τη δημιουργία ενός βρόχου εισόδου. Η χρήση βρόχων για αυτόν τον τύπο στόχου είναι στην πραγματικότητα πολύ συνηθισμένη στις εφαρμογές, επειδή δεν θέλετε να τερματίζεται η εφαρμογή κάθε φορά που γίνεται σφάλμα εισόδου. Αυτός είναι ένας απλοποιημένος βρόχος και κανονικά δημιουργείτε μια ξεχωριστή λειτουργία για να κρατήσετε τον κώδικα.
Μια εξαίρεση ValueError μπορεί να συμβεί όταν ο χρήστης κάνει λάθος. Επειδή δεν γνωρίζετε γιατί ο χρήστης εισάγει λάθος τιμή, πρέπει να ρωτήσετε εάν ο χρήστης θέλει να προσπαθήσει ξανά. Φυσικά, η λήψη περισσότερων στοιχείων από τον χρήστη θα μπορούσε να δημιουργήσει μια άλλη εξαίρεση. Η εσωτερική δοκιμή … εκτός από το μπλοκ κώδικα χειρίζεται αυτή τη δευτερεύουσα είσοδο.
3Επιλέξτε το Run → Run Module.
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.
Η εφαρμογή εμφανίζει ένα μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.
5 Τύπος Y και πατήστε Enter.
Η εφαρμογή σας ζητά να εισαγάγετε ξανά έναν ολόκληρο αριθμό.
6Type 5. 5 και πατήστε Enter.
Η εφαρμογή εμφανίζει και πάλι το μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.
Η εφαρμογή τελειώνει. Παρατηρήστε ότι το μήνυμα είναι αυτό από την εσωτερική εξαίρεση. Η εφαρμογή δεν παίρνει ποτέ την εξωτερική εξαίρεση επειδή ο χειριστής εσωτερικής εξαίρεσης παρέχει γενική εξαίρεση.
8Επιλέξτε το Run → Run Module.
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.
9 Πατήστε Ctrl + C, Cmd + C ή άλλο συνδυασμό πλήκτρων για να διακόψετε την εφαρμογή.