Σπίτι Προσωπικά Οικονομικά Πώς να χειριστείτε τις εξαιρέσεις που έχουν τοποθετηθεί σε Python - ανδρείκελα

Πώς να χειριστείτε τις εξαιρέσεις που έχουν τοποθετηθεί σε Python - ανδρείκελα

Πίνακας περιεχομένων:

Βίντεο: Week 9 2024

Βίντεο: Week 9 2024
Anonim

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

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

1Ανοίξτε ένα παράθυρο αρχείου Python.

Εμφανίζεται ένας επεξεργαστής στον οποίο μπορείτε να πληκτρολογήσετε τον παράδειγμα κώδικα.

2 Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατήστε Enter μετά από κάθε γραμμή:

TryAgain = True κατά την TryAgain: δοκιμάστε: Value = int (πληκτρολογήστε ολόκληρο τον αριθμό) πρέπει να πληκτρολογήσετε έναν ολόκληρο αριθμό!) δοκιμάστε: DoOver = είσοδος ("Δοκιμάστε ξανά (y / n);") εκτός από: print (" DoOver) == "N"): TryAgain = False εκτός από το KeyboardInterrupt: print ("Είσαι πατημένο το Ctrl + C! > Ο κώδικας αρχίζει με τη δημιουργία ενός βρόχου εισόδου. Η χρήση βρόχων για αυτόν τον τύπο στόχου είναι στην πραγματικότητα πολύ συνηθισμένη στις εφαρμογές, επειδή δεν θέλετε να τερματίζεται η εφαρμογή κάθε φορά που γίνεται σφάλμα εισόδου. Αυτός είναι ένας απλοποιημένος βρόχος και κανονικά δημιουργείτε μια ξεχωριστή λειτουργία για να κρατήσετε τον κώδικα.

Όταν ξεκινήσει ο βρόχος, η εφαρμογή ζητά από τον χρήστη να πληκτρολογήσει έναν ολόκληρο αριθμό. Μπορεί να είναι οποιαδήποτε ακέραια αξία. Αν ο χρήστης πληκτρολογήσει οποιαδήποτε μη ακέραια τιμή ή πατήσει Ctrl + C, Cmd + C ή άλλο συνδυασμό πλήκτρων διακοπής, ο κώδικας χειρισμού εξαίρεσης αναλαμβάνει. Διαφορετικά, η εφαρμογή εκτυπώνει την τιμή που παρέδωσε ο χρήστης και ορίζει το TryAgain σε ψευδές, το οποίο προκαλεί τον τερματισμό του βρόχου.

Μια εξαίρεση ValueError μπορεί να συμβεί όταν ο χρήστης κάνει λάθος. Επειδή δεν γνωρίζετε γιατί ο χρήστης εισάγει λάθος τιμή, πρέπει να ρωτήσετε εάν ο χρήστης θέλει να προσπαθήσει ξανά. Φυσικά, η λήψη περισσότερων στοιχείων από τον χρήστη θα μπορούσε να δημιουργήσει μια άλλη εξαίρεση. Η εσωτερική δοκιμή … εκτός από το μπλοκ κώδικα χειρίζεται αυτή τη δευτερεύουσα είσοδο.

Παρατηρήστε τη χρήση της σελίδας. λειτουργία άνω () κατά την εισαγωγή του χαρακτήρα από το χρήστη. Αυτή η λειτουργία καθιστά δυνατή τη λήψη y ή Y ως εισόδου και την αποδοχή και των δύο. Κάθε φορά που ζητάτε από τον χρήστη την εισαγωγή χαρακτήρων, είναι καλή ιδέα να μετατρέψετε τους πεζούς χαρακτήρες σε κεφαλαία, ώστε να μπορείτε να εκτελέσετε μια ενιαία σύγκριση (μειώνοντας το ενδεχόμενο σφάλματος).

Η εξαίρεση KeyboardInterrupt εμφανίζει δύο μηνύματα και στη συνέχεια εξέρχεται αυτόματα ρυθμίζοντας το TryAgain σε False. Η πληκτρολόγηση διακόπτεται μόνο όταν ο χρήστης πιέσει έναν συγκεκριμένο συνδυασμό πλήκτρων που έχει σχεδιαστεί για να τερματίσει την εφαρμογή. Ο χρήστης είναι απίθανο να θέλει να συνεχίσει να χρησιμοποιεί την εφαρμογή σε αυτό το σημείο.

3Επιλέξτε το Run → Run Module.

Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.

4Type Γεια σας και πατήστε Enter.

Η εφαρμογή εμφανίζει ένα μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.

5 Τύπος Y και πατήστε Enter.

Η εφαρμογή σας ζητά να εισαγάγετε ξανά έναν ολόκληρο αριθμό.

6Type 5. 5 και πατήστε Enter.

Η εφαρμογή εμφανίζει και πάλι το μήνυμα σφάλματος και ρωτά αν θέλετε να δοκιμάσετε ξανά.

7Πατήστε Ctrl + C, Cmd + C ή άλλο συνδυασμό πλήκτρων για να διακόψετε την εφαρμογή.

Η εφαρμογή τελειώνει. Παρατηρήστε ότι το μήνυμα είναι αυτό από την εσωτερική εξαίρεση. Η εφαρμογή δεν παίρνει ποτέ την εξωτερική εξαίρεση επειδή ο χειριστής εσωτερικής εξαίρεσης παρέχει γενική εξαίρεση.

8Επιλέξτε το Run → Run Module.

Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή ζητά από τον χρήστη να εισαγάγει έναν ολόκληρο αριθμό.

9 Πατήστε Ctrl + C, Cmd + C ή άλλο συνδυασμό πλήκτρων για να διακόψετε την εφαρμογή.

Η εφαρμογή τελειώνει. Παρατηρήστε ότι το μήνυμα είναι αυτό από την εξωτερική εξαίρεση. Στα πρώτα βήματα, ο χρήστης τερματίζει την εφαρμογή πατώντας ένα πλήκτρο διακοπής. Ωστόσο, η εφαρμογή χρησιμοποιεί δύο διαφορετικούς διαχειριστές εξαιρέσεων για την αντιμετώπιση του προβλήματος.

Πώς να χειριστείτε τις εξαιρέσεις που έχουν τοποθετηθεί σε Python - ανδρείκελα

Η επιλογή των συντακτών

Πώς να δημιουργήσετε Flash CS5 σύμβολα κουμπιών - dummies

Πώς να δημιουργήσετε Flash CS5 σύμβολα κουμπιών - dummies

Για να βελτιώσετε τις ταινίες Adobe Flash Creative Suite 5 μπορούν να χρησιμοποιήσουν τα κουμπιά Flash CS5 για να δώσουν στους χρήστες τον έλεγχο της δράσης με έλεγχο χρόνου και πλοήγηση. Στο Flash, τα κουμπιά είναι ειδικοί τύποι συμβόλων που έχουν σχεδιαστεί για να ανταποκρίνονται σε αλληλεπίδραση με το ποντίκι ή το πληκτρολόγιο, όπως κλικ, ανατροπές και συγκεκριμένα πλήκτρα. Όταν συνδυάζεται με το ActionScript, ...

Πώς να δημιουργείτε κλίσεις στο Adobe Flash CS6 - ανδρείκελα

Πώς να δημιουργείτε κλίσεις στο Adobe Flash CS6 - ανδρείκελα

Adobe Flash CS6 έχει έναν τρόπο για να δημιουργήσετε κλίσεις για να γεμίσετε ένα χώρο που δεν θέλετε να είναι ένα συμπαγές χρώμα. Οι κλίσεις είναι μείγματα μεταξύ δύο ή περισσότερων χρωμάτων που μπορείτε να χρησιμοποιήσετε για να γεμίσετε οποιαδήποτε περιοχή ή σχήμα, ακριβώς όπως ένα συμπαγές χρώμα. Αν κοιτάξετε τον πίνακα Swatches, μπορείτε ...

Η επιλογή των συντακτών

Πώς να γράφετε σημειώσεις στο OneNote 2013 στα Android - ανδρείκελα

Πώς να γράφετε σημειώσεις στο OneNote 2013 στα Android - ανδρείκελα

Το OneNote, όπως οι εκδόσεις iOS και web app, η έκδοση Android του OneNote σάς επιτρέπει να αποκτάτε πρόσβαση και να επεξεργάζεστε σημειώσεις με ένα ελάχιστο σύνολο χαρακτηριστικών σε σύγκριση με τις εκδόσεις desktop του OneNote, όπως το OneNote 2013. Πώς να δημιουργήσετε μια νέα σημείωση στο Android Μπορείτε να δημιουργήσετε ...

2 τρόποι αποστολής και λήψης αλληλογραφίας στο Outlook - ανδρείκελα

2 τρόποι αποστολής και λήψης αλληλογραφίας στο Outlook - ανδρείκελα

Μετά τη διαμόρφωση του λογαριασμού ηλεκτρονικού ταχυδρομείου (S) στο Outlook 2013, η λήψη μηνυμάτων είναι μια αυτόματη διαδικασία. Το Outlook αποστέλλει αυτόματα και λαμβάνει μηνύματα όταν ξεκινάτε και επίσης σε διαστήματα 30 λεπτών (από προεπιλογή) όποτε εκτελείται το Outlook. Η εισερχόμενη αλληλογραφία σας μπαίνει αυτόματα στο φάκελο Εισερχόμενα. Μπορείτε επίσης να ξεκινήσετε μια χειροκίνητη διαδικασία αποστολής / λήψης σε ...

Πώς να γράφετε σημειώσεις στο OneNote 2013 για συσκευές iOS - dummies

Πώς να γράφετε σημειώσεις στο OneNote 2013 για συσκευές iOS - dummies

Για συσκευές IOS. Υπάρχουν πολλές λειτουργίες, παρόλο που η έκδοση του App της OneNote και η πλήρης εφαρμογή OneNote 2013 έχουν περισσότερη λειτουργικότητα. Πώς να δημιουργήσετε μια νέα σημείωση σε συσκευές iOS Μπορείτε να δημιουργήσετε μια νέα σημείωση, ανεξάρτητα από το πού βρίσκεστε στο OneNote, αν βλέπετε ...

Η επιλογή των συντακτών

Πώς να ρυθμίσετε την τοποθέτηση και το μέγεθος στην άκρη Animate - dummies

Πώς να ρυθμίσετε την τοποθέτηση και το μέγεθος στην άκρη Animate - dummies

Adobe Edge Animate CC δεν έχει έλλειψη ρυθμίσεις όσον αφορά την τοποθέτηση και το μέγεθος. Πολλά από αυτά τα χαρακτηριστικά λειτουργούν καλύτερα όταν φωλιάζουν στοιχεία, έτσι θέλετε να κατανοήσετε πώς λειτουργεί ο πίνακας στοιχείων. Η τοποθέτηση αναφέρεται στις συντεταγμένες του στοιχείου που σχετίζεται είτε με το Στάδιο είτε με το γονικό στοιχείο όταν ένα ...

Παγκόσμια ή Εφαρμοσμένες ρυθμίσεις στο Adobe Edge Animate - dummies

Παγκόσμια ή Εφαρμοσμένες ρυθμίσεις στο Adobe Edge Animate - dummies

Adobe Edge Animate CC δεν έχει έλλειψη ρυθμίσεων όταν πρόκειται για την τοποθέτηση και το μέγεθος. Οι ρυθμίσεις "Παγκόσμια" και "Εφαρμοσμένες" δεν τροποποιούν τις ρυθμίσεις, αλλά παρέχουν ένα μέσο για την εμφάνιση της σχετικής τοποθέτησης μεταξύ των ενσωματωμένων στοιχείων. Μπορεί να αναρωτιέστε ότι η διαφορά είναι μεταξύ των ρυθμίσεων Global και Applied. Εδώ είναι η ουσία: Παγκόσμιες ρυθμίσεις ...

Πώς να προσθέσετε ενέργειες σε στοιχεία στο Edge Animate - dummies

Πώς να προσθέσετε ενέργειες σε στοιχεία στο Edge Animate - dummies

Ένα ιδιαίτερα ισχυρό χαρακτηριστικό του Adobe Edge Animate Το CC είναι η δυνατότητα να προσθέσετε στη σύνθεση σας δράσεις, ενεργοποιητές, ετικέτες και χαρακτηριστικά δρομέα. Αυτά τα εργαλεία είναι αυτό που χρησιμοποιείτε για να κάνετε το κινούμενο γραφικό σας διαδραστικό, ώστε το κοινό σας να μπορεί να συμμετέχει σε αυτό που κάνει το κινούμενο σχέδιο σας αντί να πρέπει να καθίσετε εκεί και να παρακολουθήσετε παθητικά. Ένας ...