Επιλέξτε κλάση γονέα . Οποιαδήποτε υποκατηγορία java.lang.Exception μπορεί να χρησιμοποιηθεί ως μητρική για μια νέα κατηγορία εξαίρεση. Ωστόσο , για αυτό το παράδειγμα , θα χρησιμοποιήσει τη βασική κατηγορία Εξαίρεση ως γονέας . Εξαίρεση μας δίνει όλα τα απαραίτητα για την εξαίρεση : . Είναι throwable , μπορεί να εκτυπώσει ένα stack trace , και επιτρέπει σε ένα μήνυμα που θα ανακτηθεί σχετικά με τη φύση της εξαίρεσης 2 
 
 Δημιουργήστε μια υποκατηγορία που επεκτείνει την κλάση γονέα . Αυτό είναι το ίδιο όπως οποιαδήποτε άλλη δημιουργία υποκατηγορία σε Java. Για το καλό της αναγνωσιμότητας κώδικα , είναι σωστό να τελειώσει πάντα το όνομα της κλάσης με την λέξη " εξαίρεση" . Για αυτό το παράδειγμα , θα οικοδομήσουμε μια εξαίρεση για το χειρισμό κακή είσοδο του χρήστη , που ονομάζεται , αρκετά απλά , BadUserInputException . 
 
 Δημόσια τάξη BadUserInputException επεκτείνει Εξαίρεση { } 
 
 Αυτός ο κωδικός και μόνο πραγματικά σας δίνει όλα σας πρέπει να αρχίσει αμέσως τη ρίψη και την αλίευση αυτή την εξαίρεση , και σε πολλές περιπτώσεις , αυτό θα είναι όλα όσα χρειάζεται . 
 εικόνων 3 
 Προσθέστε όλα τα μοναδικά χαρακτηριστικά για την εξαίρεση σας . Μπορεί να θέλετε κλάσης εξαίρεσης σας να έχει κάποια μοναδικά χαρακτηριστικά πάνω και πέρα από την ικανότητα να ρίχνονται και αλιεύονται με μια στοίβα ίχνος εκτύπωση . Έτσι , θα προσθέσει κάποια νέα στοιχεία στην τάξη σας για εξαίρεση 
 
 δημόσια τάξη BadUserInputException επεκτείνει Εξαίρεση { ιδιωτική inputString String ? . 
 
 Δημόσια getInputString ( ) { επιστροφή ( inputString ) ? } 
 < p> δημόσια 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 ( ) + " : . δεν είναι έγκυρη εισόδου) ? } } 
 Η 
 εικόνων
           
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα