Πίνακας περιεχομένων:
- 1Ανοίξτε ένα παράθυρο αρχείου Python.
- 2 Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατήστε Enter μετά από κάθε γραμμή:
- 3Επιλέξτε το Run → Run Module.
- 4Αντιστοιχίστε την κλήση ValueError ανύψωσης υποβάλλοντάς την με δύο σημάδια λίρας, όπως παρακάτω:
- 5 Αποθηκεύστε το αρχείο στο δίσκο.
- 6Επιλέξτε το Run → Run Module.
Βίντεο: Web Scraping with Nokogirl/Kimono by Robert Krabek 2024
Κανονικά θέλετε να χειριστείτε οποιαδήποτε εξαίρεση που εμφανίζεται με τρόπο που δεν προκαλεί διακοπή της εφαρμογής Python. Ωστόσο, μερικές φορές δεν μπορείτε να κάνετε τίποτα για να διορθώσετε το πρόβλημα και η εφαρμογή σίγουρα πρόκειται να καταρρεύσει.
Σε αυτό το σημείο, ο στόχος σας είναι να προκαλέσετε την αιφνίδια διακοπή της εφαρμογής, πράγμα που σημαίνει κλείσιμο αρχείων έτσι ώστε ο χρήστης να μην χάνει δεδομένα και να εκτελεί άλλα καθήκοντα αυτής της φύσης. Οτιδήποτε μπορείτε να κάνετε για να κρατήσετε ζημιά στα δεδομένα και το σύστημα στο ελάχιστο είναι ένα ουσιαστικό μέρος του χειρισμού των δεδομένων για μια συντριπτική εφαρμογή.
Η τελική ρήτρα είναι μέρος της στρατηγικής για τη συντριβή. Χρησιμοποιείτε αυτήν τη ρήτρα για να εκτελέσετε οποιεσδήποτε απαιτούμενες εργασίες τελευταίας στιγμής. Κανονικά, η τελική ρήτρα είναι πολύ σύντομη και χρησιμοποιεί μόνο κλήσεις που είναι πιθανό να επιτύχουν χωρίς περαιτέρω προβλήματα.
Είναι απαραίτητο να κλείνετε τα αρχεία, να αποσυνδέετε το χρήστη και να εκτελείτε άλλες απαιτούμενες εργασίες και, στη συνέχεια, αφήστε την εφαρμογή να καταρρεύσει πριν γίνει κάτι τρομερό (όπως μια αποτυχία του συνολικού συστήματος). Με αυτή την αναγκαιότητα, τα παρακάτω βήματα δείχνουν ένα απλό παράδειγμα χρήσης της τελικής ρήτρας.
1Ανοίξτε ένα παράθυρο αρχείου Python.
Εμφανίζεται ένας επεξεργαστής στον οποίο μπορείτε να πληκτρολογήσετε τον παράδειγμα κώδικα.
2 Πληκτρολογήστε τον ακόλουθο κώδικα στο παράθυρο - πατήστε Enter μετά από κάθε γραμμή:
import sys try: raise ValueError print ("Αύξηση εξαίρεσης") εκτός από ValueError: print ("ValueError Exception! ("Αυτός ο κώδικας δεν θα εκτελεστεί ποτέ")
Σε αυτό το παράδειγμα, ο κώδικας θέτει μια εξαίρεση ValueError. Η εκτός ρήτρας εκτελείται κανονικά όταν συμβαίνει αυτό. Η κλήση προς sys. exit () σημαίνει ότι η εφαρμογή εξέρχεται μετά την επεξεργασία της εξαίρεσης. Ίσως η εφαρμογή να μην μπορεί να ανακάμψει σε αυτή τη συγκεκριμένη περίπτωση, αλλά η εφαρμογή συνήθως τελειώνει, γι 'αυτό και η τελική κλήση εκτύπωσης () δεν θα εκτελεστεί ποτέ.
Ο τελικός κώδικας ρήτρας εκτελείται πάντοτε. Δεν έχει σημασία αν η εξαίρεση συμβαίνει ή όχι. Ο κώδικας που τοποθετείτε σε αυτό το μπλοκ πρέπει να είναι ένας κοινός κώδικας που πάντα θέλετε να εκτελέσετε. Για παράδειγμα, όταν εργάζεστε με ένα αρχείο, τοποθετείτε τον κώδικα για να κλείσετε το αρχείο σε αυτό το μπλοκ για να βεβαιωθείτε ότι τα δεδομένα δεν είναι κατεστραμμένα παραμένοντας στη μνήμη αντί να πηγαίνετε στο δίσκο.
3Επιλέξτε το Run → Run Module.
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή εμφανίζει το μήνυμα εξαίρεσης ρήτρας και το μήνυμα τελικής ρήτρας. Το σύστημα. η έξοδος () δεν επιτρέπει την εκτέλεση άλλου κώδικα.
4Αντιστοιχίστε την κλήση ValueError ανύψωσης υποβάλλοντάς την με δύο σημάδια λίρας, όπως παρακάτω:
## raise ValueError
Η κατάργηση της εξαίρεσης θα δείξει πώς πραγματικά λειτουργεί η τελική ρήτρα.
5 Αποθηκεύστε το αρχείο στο δίσκο.
Αυτό εξασφαλίζει ότι η Python βλέπει την αλλαγή.
6Επιλέξτε το Run → Run Module.
Βλέπετε ένα παράθυρο Python Shell ανοιχτό. Η εφαρμογή εμφανίζει μια σειρά μηνυμάτων, συμπεριλαμβανομένου του μηνύματος τελικής ρήτρας. Αυτό το τμήμα του παραδείγματος δείχνει ότι η τελική ρήτρα εκτελείται πάντα, οπότε πρέπει να τη χρησιμοποιήσετε προσεκτικά.