Επιλέξτε κλάση γονέα . Οποιαδήποτε υποκατηγορία java.lang.Exception μπορεί να χρησιμοποιηθεί ως μητρική για μια νέα κατηγορία εξαίρεση. Ωστόσο , για αυτό το παράδειγμα , θα χρησιμοποιήσει τη βασική κατηγορία Εξαίρεση ως γονέας . Εξαίρεση μας δίνει όλα τα απαραίτητα για την εξαίρεση : . Είναι throwable , μπορεί να εκτυπώσει ένα stack trace , και επιτρέπει σε ένα μήνυμα που θα ανακτηθεί σχετικά με τη φύση της εξαίρεσης 2
Δημιουργήστε μια υποκατηγορία που επεκτείνει την κλάση γονέα . Αυτό είναι το ίδιο όπως οποιαδήποτε άλλη δημιουργία υποκατηγορία σε Java. Για το καλό της αναγνωσιμότητας κώδικα , είναι σωστό να τελειώσει πάντα το όνομα της κλάσης με την λέξη " εξαίρεση" . Για αυτό το παράδειγμα , θα οικοδομήσουμε μια εξαίρεση για το χειρισμό κακή είσοδο του χρήστη , που ονομάζεται , αρκετά απλά , BadUserInputException .
Δημόσια τάξη BadUserInputException επεκτείνει Εξαίρεση { }
Αυτός ο κωδικός και μόνο πραγματικά σας δίνει όλα σας πρέπει να αρχίσει αμέσως τη ρίψη και την αλίευση αυτή την εξαίρεση , και σε πολλές περιπτώσεις , αυτό θα είναι όλα όσα χρειάζεται .
εικόνων 3
Προσθέστε όλα τα μοναδικά χαρακτηριστικά για την εξαίρεση σας . Μπορεί να θέλετε κλάσης εξαίρεσης σας να έχει κάποια μοναδικά χαρακτηριστικά πάνω και πέρα από την ικανότητα να ρίχνονται και αλιεύονται με μια στοίβα ίχνος εκτύπωση . Έτσι , θα προσθέσει κάποια νέα στοιχεία στην τάξη σας για εξαίρεση
δημόσια τάξη BadUserInputException επεκτείνει Εξαίρεση { ιδιωτική inputString String ? .
Δημόσια getInputString ( ) { επιστροφή ( inputString ) ? }
δημόσια BadUserInputException (είσοδος String ) { super ( ) ? inputString = εισόδου? } ? }
τώρα , εξαιρουμένων σας θα έχει μια πρόσθετη λειτουργία , getInputString ( ) , η οποία μπορεί να κληθεί οποιαδήποτε στιγμή σας για εξαίρεση ρίχνεται σε πάρετε ένα αντίγραφο της κακής εισόδου του χρήστη στο ερώτημα που πρέπει να εκτυπωθούν σε ένα αρχείο καταγραφής σφαλμάτων ή εξετάζονται από το πρόγραμμα για να καθορίσει τι θα κάνουμε στη συνέχεια .
Η 4
Προσθέστε μια δήλωση ρίξει σε λειτουργίες που μπορεί να προκαλέσει την εξαίρεση να συμβεί. Μια εξαίρεση είναι άχρηστη αν ρίχνεται από κάποια λειτουργία . Μια δήλωση ρίξει περνά ουσιαστικά ένα λάθος πάνω στην καπνοδόχο για να επιτρέψει ένα μέρος υψηλότερο επίπεδο του προγράμματος για να καθορίσει τι θα πρέπει να γίνει με αυτό . Αυτό BadUserException θα ριχτούν από μια λειτουργία getUserInput ( ) , αρκετά κατάλληλα :
/*** Javadoc για getUserInput . Θα ήθελα να αναφέρω εδώ * ότι η λειτουργία αυτή ρίχνει μια BadUserInputException * , έτσι ώστε να ξέρετε για να το πιάσει αργότερα . * @ Ρίχνει BadUserInputException Εάν συμβεί κακή εισόδου. * @ Επιστροφή εισόδου του χρήστη, εάν δεν είναι εξαίρεση . * /Public String getUserInput ( ) ρίχνει BadUserInputException { BufferedReader σε = νέα BufferedReader ( νέα InputStreamReader ( System.in ) ) ? String input = in.readLine ( ) ? ! εάν ( validInput (είσοδος ) ρίξει BadUserInputException ( input ) ? άλλο επιστρέψει εισόδου? }
Η 5.
Προσθήκη κώδικα για να πιάσει την εξαίρεση όταν οι λειτουργίες χρησιμοποιούν χρησιμοποιούνται Αυτό θα επιτρέψει το πρόγραμμά σας να αντιδράσει σε σφάλματα σε ένα καθαρά ελεγχόμενο τρόπο Ο κωδικός για να το πράξει, θα μοιάζουν με αυτό το απλό παράδειγμα : .
public void gameLoop ( ) { try { printMenu ( ) ? String επιλογή = getUserInput ( ) ? αν ( choice.equals ( " Q" ) ) για να κλείσετε ( ) ? αλλιώς να συνεχίσει ( ) ? } αλιευμάτων ( BadUserIputException ε) { System.out . println ( "ΣΦΑΛΜΑ : " + e.getInputString ( ) + " : . δεν είναι έγκυρη εισόδου) ? } }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα