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

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

Γιατί υπάρχουν Bad Εξαιρέσεις Αριθμός σε Java

; Εξαιρέσεις μπορεί να προκαλέσει προγράμματα Java να συντριβή , αλλά όταν χρησιμοποιείται σωστά , επιτρέπουν επίσης στους προγραμματιστές να δημιουργήσουν εφαρμογές που μπορούν να αντιμετωπίσουν απροσδόκητα γεγονότα . Εξαιρέσεις Αριθμός συχνά συμβαίνουν όταν κάποια προγράμματα επιχειρήσουν να αναλύσει τους αριθμούς , μετατρέποντας ακολουθίες χαρακτήρων κειμένου σε αριθμητικές τιμές . Εάν ένα πρόγραμμα Java χρησιμοποιεί μια μέθοδο στην οποία ένας αριθμός δεν είναι του αναμενόμενου τύπου , μπορεί να ρίξει μια μορφή αριθμού εξαίρεση. Με την κατανόηση εξαιρέσεις , μπορείτε να μάθετε πώς να δημιουργήσετε τα προγράμματα που παρέχουν αξιόπιστη λειτουργία . Τύποι Εξαίρεση
Η

προγράμματα 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 ( ) ? }

Αυτό επιτρέπει στους προγραμματιστές να καθορίσουν τη δική τους τάξη έθιμο εξαίρεση, η οποία μπορεί να είναι ένας τύπος που ελέγχθηκαν , και να παρέχει μια κατάλληλη στρατηγική αντιμετώπισης για την εφαρμογή .
Η
εικόνων

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

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