Γράψτε κάποιο κώδικα που θα ρίξει μια εξαίρεση , χρησιμοποιώντας την εντολή raise . Στη Ruby , η δήλωση αύξηση θα σταματήσει την εκτέλεση της μεθόδου , στη συνέχεια χαλαρώστε το πρόγραμμα . 2
επισυναφθεί η κλήση σε αυτή τη μέθοδο σε μια δήλωση διάσωσης ταιριάζουν. Διαφορετικά , το πρόγραμμα θα τερματιστεί και ένα μήνυμα σφάλματος θα εμφανιστεί στο τερματικό . Το ακόλουθο παράδειγμα δείχνει μια συνάρτηση του μέσου όρου , όπως αυτό που βρέθηκε στο λογισμικό βαθμού βιβλίο .
Εικόνων 3
Εδώ , όλες οι βαθμολογίες των εξεταστικών δοκιμασιών κατά μέσο όρο . Αν το αποτέλεσμα είναι πάνω από 100 % , δεν υπάρχει καμία επιλογή αλλά για να αυξήσει μια εξαίρεση επειδή κάποιος έχει εξαπατηθεί : def μέσο όρο ( num1 , num2 , num3 ) av = ( num1 + + num2 num3 ) /3.0if av > 100raise "Κάποιος εξαπατημένοι , ο μέσος όρος # { av } " elsereturn avendend
εικόνων χειριστεί την εξαίρεση
Η 4
Γράψτε τη δήλωση διάσωσης , καλώντας τη μέθοδο του μέσου μέσα σε ένα μπλοκ με μια δήλωση διάσωσης .
Φτηνές 5
Ξεκινήστε το μπλοκ με το " ξεκινήσει ". Μπορεί να έχει οποιοδήποτε αριθμό των «διάσωσης» καταστάσεις , και τελειώνει με το "τέλος " λέξη κλειδί. Η δήλωση διάσωσης έχει μια ρήτρα τύπου καθώς : ένας τύπος που ακολουθείται από = > και το όνομα μιας μεταβλητής . Εκτός από το είδος θα επιτρέψει τη δήλωση διάσωσης για να πιάσει όλες τις εξαιρέσεις που ρίχνονται .
Η 6
Κατά την εκτέλεση του δήλωση διάσωσης , η αξία που τέθηκε έχει ανατεθεί στο " e ". Μπορεί να υπάρχουν πολλές δηλώσεις διάσωσης με πολλαπλούς τύπους να χειριστεί διαφορετικά είδη σφαλμάτων : beginaverage ( 98 , 92 , 130 ) διάσωσης = > eputs " έπιασα κάποιον εξαπάτηση ! " Βάζει " Το μήνυμα σφάλματος ήταν αυτό : # {e } " τέλος
Η Γράψτε Else και Διασφάλιση Δηλώσεις
Σελίδα 7
Δημιουργία εξασφαλίσει δήλωση , εκτός από τη δήλωση διάσωσης . Η δήλωση εξασφαλίζει πάντα παίρνει εκτελεστεί όταν το μπλοκ έχει τελειώσει . Ανεξάρτητα από το πώς βγήκε από το μπλοκ , αν υπήρχε ή όχι η εξαίρεση έθεσε , ή ακόμα κι αν απέτυχαν να διασώσουν την ίδια την εξαίρεση , η δήλωση εξασφαλίσει εκτελείται πάντα . Η δήλωση else εκτελείται μόνο αν δεν υπήρχαν οι εξαιρέσεις
8
Εδώ θέλετε να βεβαιωθείτε ότι το βιβλίο βαθμού παίρνει κλειστά , έτσι ώστε να εξασφαλιστεί το βιβλίο close_grade ονομάζεται : . Beginaverage ( 98 , 92 , 130 ) διάσωσης = > eputs " ! έπιασα κάποιον εξαπάτηση " βάζει " Το μήνυμα σφάλματος ήταν αυτό : # {e } " > ensureclose_gradebookend
Η 9
Γράψτε μια δήλωση else . Αν δεν υπήρχαν εξαιρέσεις , η δήλωση άλλος θα συγχαρώ τον φοιτητή για να μην εξαπάτηση : elseputs " Καλή δουλειά , και δεν έχετε καν εξαπατήσει ! "
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα