προγράμματα Java μπορεί να ρίξει πολλούς διαφορετικούς τύπους εξαιρέσεων . Η Μορφή αριθμών Εξαίρεση είναι η πιο κοινή αριθμητική εξαίρεση . Μια εξαίρεση χρόνου εκτέλεσης, επεκτείνει την παράνομη κατηγορία Επιχείρημα Εξαίρεση . Κανονικά η εξαίρεση προκύπτει όταν χρησιμοποιείτε μια μέθοδο για να προσπαθήσει να αναλύσει μια σειρά όπως έναν αριθμό , αλλά το περιεχόμενο των χορδών δεν είναι ένας αριθμός από το σωστό τύπο . Επειδή είναι μια ανεξέλεγκτη εξαίρεση , τα προγράμματά σας μπορούν να καταρτίζουν χωρίς να το ολοκληρωμένο περιβάλλον ανάπτυξης σας προειδοποιεί για το ενδεχόμενο σφάλμα . Η Μορφή αριθμών Εξαίρεση συμβαίνει μόνο εάν ένα πρόγραμμα περνάει ακατάλληλη είσοδο σε μια μέθοδο , έτσι μπορείτε να το ανακαλύψετε μόνο όταν εκτελείται η εφαρμογή σας .
Εικόνων Αιτίες
Η
Η γλώσσα Java περιτύλιγμα τα μαθήματα παρέχουν αντικείμενο αναπαραστάσεις των πρωτόγονων τύπων αριθμό, συμπεριλαμβανομένου integer, float και το διπλό . Χρησιμοποιώντας αυτές τις κατηγορίες , τα προγράμματα μπορεί να αναλύσει τις τιμές συμβολοσειράς ως αριθμητική τύπους , ως εξής :
Integer.parseInt ( " 3 " ) ?
Αυτός ο κωδικός εκτελείται χωρίς σφάλμα , επειδή η παράμετρος πέρασε το string περιέχει μια αριθμητική τιμή . Ωστόσο , η ακόλουθη μέθοδος κλήσης προκαλεί Java για να ρίξει μια μορφή Αριθμός Εξαίρεση επειδή το string δεν περιέχει έναν αριθμό :
Integer.parseInt ( " r" ) ?
Ο κώδικας που ακολουθεί , επίσης, προκαλεί η εξαίρεση , διότι, αν και η σειρά είναι ένας αριθμός , δεν είναι ένας ακέραιος :
Integer.parseInt ( " 3.5" ) ?
Όλα αυτά τα αποσπάσματα κώδικα μεταγλώττιση και εκτέλεση , έτσι ο προγραμματιστής μπορεί να αντιληφθεί το σφάλμα κατά το χρόνο εκτέλεσης μόνο . Οι τιμές συνήθως δεν παρέχονται ρητά , αλλά διαβάζονται από μια εξωτερική πηγή ή μεταβλητή τιμή .
Η σύλληψη
Η
Μπορείτε να πάρετε Number Format Εξαιρέσεις εάν τα προγράμματά σας είναι πιθανό να τους ρίξει . Με την προσθήκη αριθμού parsing τον κωδικό σας σε ένα μπλοκ try , τότε παρέχοντας ένα μαύρο αλιευμάτων μετά από αυτό, μπορείτε να δημιουργήσετε τα προγράμματα που θα συνεχίσει να λειτουργεί ακόμη και αν προκύψει Μορφή αριθμών Εξαίρεση . Το ακόλουθο δείγμα κώδικα δείχνει αυτή τη δομή :
try { Integer.parseInt ( numString ) ? } Αλιευμάτων ( NumberFormatException numExc ) { System.out.println ( numExc.getMessage ( ) ) ? }
η συμβολοσειρά αναλύσει στην περίπτωση αυτή παριστάνεται ως μία μεταβλητή αναφοράς , έτσι ώστε το περιεχόμενο του είναι άγνωστη . Αν η περιεκτικότητα σε κορδόνι δεν μπορεί να αναλυθεί ως ακέραιος , ο κωδικός άλματα αμέσως στο μπλοκ των αλιευμάτων , όπου μπορείτε να παρέχει εναλλακτική επεξεργασία .
Εικόνων Ρίχνουν
Η
Όπως και να πιάσει εξαιρέσεις , οι προγραμματιστές μπορούν να δημιουργήσουν προγράμματα Java στο οποίο ρίχνουν έθιμο εξαιρέσεις . Αυτό είναι μια κοινή τακτική με την ανεξέλεγκτη εξαιρέσεις, όπως Μορφή αριθμών . Η ακόλουθη τροποποίηση του κώδικα δείχνει :
αλιευμάτων ( NumberFormatException numExc ) { ρίξει νέο BadNumberException ( ) ? }
Αυτό επιτρέπει στους προγραμματιστές να καθορίσουν τη δική τους τάξη έθιμο εξαίρεση, η οποία μπορεί να είναι ένας τύπος που ελέγχθηκαν , και να παρέχει μια κατάλληλη στρατηγική αντιμετώπισης για την εφαρμογή .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα