Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να δημιουργήσετε Μαθήματα Εξαίρεση σε Java

Η γλώσσα προγραμματισμού Java υιοθετεί μια προσέγγιση εξαιρέσεις που βασίζονται στο χειρισμό εντοπισμού σφαλμάτων και το χειρισμό σε κώδικα . Αντί να δημιουργήσει ένα πολύπλοκο σύστημα των ένθετων if-else δηλώσεις για να προσπαθήσουμε να πιάσει κάθε πιθανό σφάλμα , όλα λάθος αλίευση μπορούν να οργανωθούν σε μια σειρά από "try αλιευμάτων » δηλώσεις στο τέλος της συνάρτησης . Αυτό επιτρέπει τον έλεγχο σφαλμάτων για να βγούμε από το δρόμο της πραγματικής ροής του προγράμματος και οδηγεί σε πιο ευανάγνωστη , πιο εύκολο στη συντήρηση κώδικα . Τα πράγματα που θα χρειαστείτε
Υπολογιστών
Java Runtime Environment
Java Development Kit
επεξεργαστή κειμένου ή Java IDE
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Επιλέξτε κλάση γονέα . Οποιαδήποτε υποκατηγορία 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 ( ) + " : . δεν είναι έγκυρη εισόδου) ? } }
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα