Πώς να επιλύσετε το java.lang.NullPointerException

Pos Na Epilysete To Java Lang Nullpointerexception



Στις γλώσσες προγραμματισμού, η αντιμετώπιση σφαλμάτων μας επιτρέπει να εκτελούμε διάφορες λειτουργίες κατάλληλα, ζητώντας από τον προγραμματιστή. Σε μια τέτοια περίπτωση, μπορεί να υπάρξουν περιπτώσεις όπου ο προγραμματιστής μπορεί να αντιμετωπίσει το ' java.lang.NullPointerException «σε ένα συγκεκριμένο» μηδενικό ” αξία κατά την επεξεργασία μαζικών δεδομένων. Αυτή η εξαίρεση πρέπει να αντιμετωπιστεί προκειμένου να βελτιστοποιηθούν οι λειτουργίες του κώδικα.

Αυτό το ιστολόγιο θα επεξεργάζεται τις προσεγγίσεις για την αντιμετώπιση του « java.lang.NullPointerException '.







Πώς να επιλύσετε το 'java.lang.NullPointerException';

Ο ' java.lang.NullPointerException Το ” επιστρέφεται όταν μια μεταβλητή αναφοράς γίνεται κλήση (ή αποαναφορά) και δεν αναφέρεται σε κανένα αντικείμενο.



Επίδειξη του 'java.lang.NullPointerException'

Στην παρακάτω εικόνα, θα δούμε πώς συμβαίνει η εξαίρεση που συζητήθηκε:



Συμβολοσειρά s = null;
customFunc ( μικρό ) ;
στατικό κενό customFunc ( String str ) {
System.out.println ( στρ.μήκος ( ) ) ;
}


Στο παραπάνω απόσπασμα κώδικα:





    • Αρχικά, αρχικοποιήστε μια συμβολοσειρά με ένα ' μηδενικό ' αξία.
    • Στο επόμενο βήμα, καλέστε τη συνάρτηση customFunc() περνώντας τη δηλωμένη συμβολοσειρά ως όρισμα.
    • Μετά από αυτό, ορίστε μια συνάρτηση με το όνομα ' customFunc() ” καθορίζοντας μια συμβολοσειρά που πρέπει να μεταβιβαστεί ως παράμετρός της.
    • Στον ορισμό της συνάρτησης, επιστρέψτε το μήκος της περασμένης συμβολοσειράς μέσω του ' μήκος ” ιδιοκτησία.
    • Αυτός ο κωδικός θα λειτουργεί έτσι ώστε περνώντας ένα ' μηδενικό ” τιμή στη συνάρτηση, η εξαίρεση που συζητήθηκε θα πεταχτεί:


Στην παραπάνω έξοδο, μπορεί να παρατηρηθεί ότι το « NullPointerException 'πετάγεται κατά την επίκληση' μηδενικό ' ως όρισμα συνάρτησης.

Προσέγγιση 1: Επίλυση του 'java.lang.NullPointerException' χρησιμοποιώντας δηλώσεις 'try…catch'

Ο ' δοκιμάστε 'Η δήλωση βοηθά στον καθορισμό ενός μπλοκ κώδικα που πρέπει να ελεγχθεί για σφάλματα κατά την εκτέλεση και το ' σύλληψη ” η δήλωση τίθεται σε ισχύ σε περίπτωση που αντιμετωπίζεται περιορισμός στο μπλοκ δοκιμής. Πιο συγκεκριμένα, το « java.lang.NullPointerException ' μπορεί να τροφοδοτηθεί εφαρμόζοντας την επιθυμητή λειτουργία στο μπλοκ 'try' και τοποθετώντας την πιθανή εξαίρεση στο μπλοκ 'catch'.



Σύνταξη

δοκιμάστε {
Το μπλοκ κώδικα για δοκιμή
}
σύλληψη ( Εξαίρεση ε ) {
Το μπλοκ κώδικα για το χειρισμό της εξαίρεσης με όψη σε το μπλοκ δοκιμής
}


Παράδειγμα

Ας δούμε γενικά το παρακάτω παράδειγμα:

Συμβολοσειρά s = null;
customFunc ( μικρό ) ;
στατικό κενό customFunc ( String str ) {
δοκιμάστε {
System.out.println ( 'Πρώτος χαρακτήρας:' + str.indexOf ( 0 ) ) ;
}
σύλληψη ( NullPointerException e ) {
System.out.println ( 'NullPointerException πετάχτηκε!' ) ;
} }


Στις παραπάνω γραμμές κώδικα:

    • Θυμηθείτε τις προσεγγίσεις που συζητήθηκαν για να αρχικοποιήσετε ένα « μηδενικό ” τιμή και καλέστε τη δηλωμένη συνάρτηση περνώντας την τιμή null ως όρισμα.
    • Τώρα, ομοίως, ορίστε μια συνάρτηση με το όνομα ' customFunc() ” έχοντας ως παράμετρο τη συμβολοσειρά που θα μεταβιβαστεί.
    • Μετά από αυτό, εφαρμόστε το ' δοκιμάστε ' δήλωση για ανάκτηση του ευρετηρίου του καθορισμένου χαρακτήρα σε μια συμβολοσειρά μέσω του ' indexOf() 'μέθοδος.
    • Σημειώστε ότι το « δοκιμάστε Η πρόταση μπορεί να εκτελεστεί εάν η συμβολοσειρά δεν είναι null. Επειδή η τιμή είναι ' μηδενικό », οπότε θα συναντηθεί μια εξαίρεση που θα χειριστεί το « σύλληψη », δήλωση.

Παραγωγή


Στην παραπάνω έξοδο, μπορεί να φανεί ότι η καθορισμένη εξαίρεση καλύπτεται από το ' σύλληψη ” δήλωση και έτσι πετιέται, λύνοντάς την έτσι.

Προσέγγιση 2: Επιλύστε το 'java.lang.NullPointerException' χρησιμοποιώντας τη δήλωση 'if/else'

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

Σύνταξη

αν ( συν ) {
Η δήλωση που πρέπει να εκτελεστεί με την ικανοποιούμενη συνθήκη π.χ.
}
αλλού {
Η δήλωση να εκτελεστεί επί μη ικανοποιημένων 'αν' κατάσταση.
}


Παράδειγμα

Ανατρέξτε στο ακόλουθο παράδειγμα για να κατανοήσετε την αντιμετώπιση της εξαίρεσης:

Συμβολοσειρά s = null;
customFunc ( μικρό ) ;
στατικό κενό customFunc ( String str ) {
αν ( str ! = μηδενικό ) {
System.out.println ( 'Πρώτος χαρακτήρας:' + str.indexOf ( 0 ) ) ;
}
αλλού {
System.out.println ( 'NullPointerException πετάχτηκε!' ) ;
}
}


Εφαρμόστε τα βήματα που αναφέρονται παρακάτω όπως δίνονται στον παραπάνω κώδικα:

    • Επαναλάβετε τα βήματα που συζητήθηκαν για την προετοιμασία μιας μηδενικής τιμής και την κλήση της συνάρτησης περνώντας το ' μηδενικό ” η αξία ως επιχείρημά της.
    • Στη συνέχεια, δηλώστε ομοίως τη συνάρτηση ' customFunc() ” έχοντας την καθορισμένη παράμετρο.
    • Τώρα, εφαρμόστε το ' αν/αλλιώς ' δήλωση τέτοια ώστε με την ικανοποιούμενη προϋπόθεση στο ' αν », εκτελεί το αντίστοιχο μπλοκ.
    • Στην άλλη περίπτωση, το « αλλού Το μπλοκ θα τεθεί σε ισχύ και θα θέσει την εξαίρεση που συζητήθηκε.
    • Σημειώστε ότι η συνθήκη στο « αν Η δήλωση είναι πανομοιότυπη με την προηγούμενη προσέγγιση, παραποιώντας την.

Παραγωγή


Έτσι μπορείτε να χειριστείτε το ' java.lang.NullPointerException '.

συμπέρασμα

Ο ' java.lang.NullPointerException Το ” επιστρέφεται όταν μια μεταβλητή αναφοράς γίνεται επίκληση ή αποαναφορά και δεν αναφέρεται σε κανένα αντικείμενο. Αυτή η εξαίρεση μπορεί να αντιμετωπιστεί τοποθετώντας την στο ' προσπάθησε να πιάσεις ' δήλωση τέτοια ώστε κατά την εκτέλεση του ' δοκιμάστε ” μπλοκ, η εξαίρεση που αντιμετωπίζεται μπορεί να καλυφθεί από το τελευταίο μπλοκ. Επίσης το ' αν/αλλιώς Η δήλωση ' μπορεί να χρησιμοποιηθεί για την επίλυση αυτής της εξαίρεσης τοποθετώντας την στο ' αλλού 'δήλωση εάν το ' αν ” η δήλωση αποτυγχάνει να εκτελεστεί. Αυτό το ιστολόγιο συζήτησε τις προσεγγίσεις για την αντιμετώπιση του « java.lang.NullPointerException '.