Πίνακας περιεχομένων:
- Προαιρετικός χειρισμός σφαλμάτων
- Χειρισμός πιο ειδικών σε λιγότερο συγκεκριμένα σφάλματα
- Από όλες τις εξαιρέσεις που μπορεί να δείτε όταν εργάζεστε με Java, το NullPointerException (ή NPE) είναι το πιο διαδεδομένο και μερικές φορές το πιο δύσκολο να διαγνωστεί. Μια NullPointerException συμβαίνει κάθε φορά που περνάτε μια μηδενική τιμή σε μια λειτουργία Java που περιμένει μια πραγματική τιμή. Το πρόβλημα είναι ότι δεν είναι κάθε πρόβλημα που δημιουργεί ένα NPE.
Βίντεο: Περισσότεροι πελάτες - Αποδοτική τακτική προσέλκυσης πελατών 2024
Πολλά από τα παραδείγματα κώδικα Java που βρίσκετε για μαθησιακούς σκοπούς θα περιλαμβάνουν σφάλματα παγίδευσης σε αυτά. Τα παραδείγματα δεν θα σας καταλήξουν σε παγίδευση σφάλματος, αλλά θα κάνουν καλά τεχνικές παγίδευσης σφάλματος μέρος του κώδικα εφαρμογής όποτε είναι δυνατόν (και ο κωδικός παγίδευσης σφάλματος δεν αποκρύπτει πλήρως τον σκοπό του παραδείγματος).
Λαμβάνοντας αυτό υπόψη, οι ακόλουθες ενότητες παρέχουν μια επισκόπηση των τεχνικών που χρησιμοποιούνται για τη συλλογή σφαλμάτων. Θα δείτε τρία διαφορετικά επίπεδα παγίδευσης σφαλμάτων που χρησιμοποιούνται συνήθως σε εφαρμογές Java.
Η παγίδευση σφάλματος είναι η πράξη ανίχνευσης μιας εξαίρεσης και λέγοντας στο JRE ότι σχεδιάζετε να κάνετε κάτι με αυτό. Το JRE αποκρίνεται μη διαβιβάζοντας το σφάλμα στον καλούντα της τρέχουσας μεθόδου και αντ 'αυτού βασίζεται στην τρέχουσα μέθοδο για να διορθώσει το πρόβλημα.
Η παγίδευση σφάλματος συνδέεται κανονικά με το δοκιμαστικό τμήμα μιας εντολής try … catch, ενώ ο χειρισμός σφαλμάτων συνδέεται κανονικά με το τμήμα της δοκιμής try … catch.
Προαιρετικός χειρισμός σφαλμάτων
Η φράση "Προαιρετική διαχείριση σφαλμάτων" είναι λίγο ακατάλληλη. Είναι προαιρετικό μόνο επειδή η Java δεν απαιτεί από εσάς να την εκτελέσετε ως μέρος της χρήσης των διαφόρων αντικειμένων της εφαρμογής σας. Κάθε εφαρμογή που δημιουργείτε πρέπει να περιλαμβάνει κάποιο επίπεδο χειρισμού σφαλμάτων, ακόμα και αν η Java δεν απαιτεί να την προσθέσετε.
Στην πραγματικότητα, προσθέτοντας χειρισμό σφαλμάτων σε κάθε εφαρμογή που δημιουργείτε, ακόμα και απλές εφαρμογές δοκιμών, θα σας βοηθήσουν να αποκτήσετε γνώση αυτής της πτυχής του προγραμματισμού Java και να σας προωθήσουμε από τους προγραμματιστές που δεν ακολουθούν αυτήν την πρακτική.
Η αντιμετώπιση σφαλμάτων είναι η πράξη επίλυσης μιας εξαίρεσης που έχει εγκλωβιστεί στην εφαρμογή. Σε ορισμένες περιπτώσεις, ο χειρισμός του σφάλματος σημαίνει ότι εμφανίζεται ένα μήνυμα στο χρήστη και ζητείται διόρθωση. Ωστόσο, ο χειρισμός σφαλμάτων μπορεί να λάβει πολλές μορφές, ορισμένες από τις οποίες είναι εντελώς αυτοματοποιημένες και αόρατες για τον χρήστη. Αυτή η πράξη συσχετίζεται κανονικά με το τμήμα αλιευμάτων μιας δοκιμής … catch statement.
Χειρισμός πιο ειδικών σε λιγότερο συγκεκριμένα σφάλματα
Οι περισσότερες εφαρμογές μπορούν να δημιουργήσουν περισσότερες από μία εξαιρέσεις. Επιπλέον, ενδέχεται να μην μπορείτε να εντοπίσετε με ακρίβεια τις εξαιρέσεις που θα δημιουργήσει μια εφαρμογή. Σε αυτή την περίπτωση, θα πρέπει να δώσετε πολλαπλές ρήτρες αλιευμάτων για τη δήλωση try … catch. Κάθε ρήτρα αλιευμάτων ειδικεύεται σε ένα συγκεκριμένο είδος σφάλματος.
Επιπλέον, μπορείτε να χρησιμοποιήσετε χειριστές γενικής εξαίρεσης για αυτές τις περιπτώσεις, όταν η εφαρμογή σας αντιμετωπίζει σφάλματα που δεν εμπίπτουν στο σύνολο που αρχικά αναμενόταν.
Από όλες τις εξαιρέσεις που μπορεί να δείτε όταν εργάζεστε με Java, το NullPointerException (ή NPE) είναι το πιο διαδεδομένο και μερικές φορές το πιο δύσκολο να διαγνωστεί. Μια NullPointerException συμβαίνει κάθε φορά που περνάτε μια μηδενική τιμή σε μια λειτουργία Java που περιμένει μια πραγματική τιμή. Το πρόβλημα είναι ότι δεν είναι κάθε πρόβλημα που δημιουργεί ένα NPE.
Εάν στη συνέχεια προσπαθήσετε να επεξεργαστείτε την τιμή null, λαμβάνετε ένα NPE. Επειδή αναμενόταν η εμφάνιση μηδενικών τιμών, η εύρεση του σφάλματος μπορεί να είναι τρομερά δύσκολη.