Αυτό το άρθρο παρουσιάζει τη διαδικασία χειρισμού του σφάλματος κώδικα δήλωσης που δεν είναι προσβάσιμο στην Java.
Πώς να επιλύσετε το σφάλμα μη προσβάσιμου κώδικα δήλωσης στην Java;
Πολλαπλοί λόγοι μπορεί να είναι οι αιτίες των απρόσιτων σφαλμάτων κώδικα δηλώσεων στην Java, μαζί με τις αντίστοιχες λύσεις. Αυτό το σφάλμα δεν βασίζεται στη σύνταξη, είναι καθαρά λογικό σφάλμα ή μπορεί να προκύψει λόγω ανθρώπινου λάθους σε ορισμένες περιπτώσεις. Πριν επισκεφτούμε τις λύσεις, ας δούμε πρώτα τους λόγους που μπορεί να είναι η αιτία σφαλμάτων του κώδικα δήλωσης που δεν είναι προσβάσιμα:
Λόγος 1: Εισαγωγή κωδικού μετά τη δήλωση 'σπάσιμο'.
Ο ' Διακοπή Η δήλωση χρησιμοποιείται κατά μήκος της δήλωσης λήψης αποφάσεων και των βρόχων. Διακόπτει τον κύκλο εκτέλεσης εάν επιτευχθεί η επιθυμητή κατάσταση. Ο μεταγλωττιστής δεν φτάνει στη γραμμή που φτάνει δίπλα στο ' Διακοπή ' δήλωση σε αυτό το μπλοκ. Ο μεταγλωττιστής σταματά τον κύκλο εκτέλεσης και κινείται προς την επόμενη δήλωση στην ιεραρχία DOM.
Επισκεφτείτε τον παρακάτω κωδικό:
τάξη Ήμισυ {
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Για ( ενθ Εγώ = 0 ; Εγώ <= 10 ; ++ Εγώ ) {
αν ( Εγώ == 5 ) {
Διακοπή ;
Σύστημα . έξω . println ( Εγώ ) ;
}
}
}
}
Ο παραπάνω κωδικός θα πρέπει να εμφανίζει τιμές από ' 0 ' προς την ' 4 '. Όμως, με τη χρήση της δήλωσης μετά το « Διακοπή ” η δήλωση εμφανίζεται το σφάλμα της απρόσιτης δήλωσης:
Η έξοδος δείχνει την εμφάνιση ενός σφάλματος δήλωσης που δεν είναι προσβάσιμο.
Λύση: Δοκιμάστε να εισαγάγετε κωδικό πάνω από τη δήλωση 'διάλειμμα'.
Η λύση είναι να χρησιμοποιήσετε τη δήλωση έξω από το μπλοκ στην οποία το ' ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ », χρησιμοποιείται δήλωση. Για παράδειγμα, ο παραπάνω κώδικας εκτελείται με ακρίβεια εάν η δήλωση τοποθετηθεί εκτός του ' αν ' μπλοκ δηλώσεων όπως φαίνεται παρακάτω:
Το παραπάνω στιγμιότυπο από το IDE δείχνει ότι τώρα έχει επιλυθεί το σφάλμα κωδικού δήλωσης που δεν είναι προσβάσιμο.
Λόγος 2: Εισάγεται κωδικός μετά τη δήλωση 'συνέχεια'.
Ο ' να συνεχίσει Η δήλωση χρησιμοποιείται όταν ο προγραμματιστής θέλει να παραλείψει μια συγκεκριμένη επανάληψη για να εκτελεστεί από τον βρόχο. Ο μεταγλωττιστής διακόπτει τον κύκλο εκτέλεσης κάθε φορά που βρίσκει το ' να συνεχίσει ” δήλωση στον κώδικα. Αυτός είναι ο λόγος για τον οποίο ο κώδικας που εκτελείται μετά το ' να συνεχίσει Η δήλωση προκαλεί ένα σφάλμα 'μη προσβάσιμος κωδικός δήλωσης':
τάξη Ήμισυ {δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Για ( ενθ Εγώ = 0 ; Εγώ <= 10 ; ++ Εγώ ) {
αν ( Εγώ == 5 ) {
να συνεχίσει ;
Σύστημα . έξω . println ( Εγώ ) ;
}
}
}
}
Η έξοδος του παραπάνω κώδικα μοιάζει με αυτό:
Η έξοδος δείχνει ότι έχει παρουσιαστεί το 'απρόσιτο σφάλμα κώδικα'.
Λύση: Εισαγάγετε κωδικό έξω από το μπλοκ δήλωσης 'συνέχεια'.
Για να το επιλύσετε, απλώς χρησιμοποιήστε τον κωδικό έξω από το ' να συνεχίσει ” μπλοκ δηλώσεων:
Μετά την αλλαγή της θέσης, το σφάλμα επιλύεται αυτόματα.
Λόγος 3: Εισαγωγή κωδικού μετά τη δήλωση 'επιστροφής'.
Αυτό το σενάριο είναι το ίδιο με το παραπάνω, ο μεταγλωττιστής παραλείπει το τμήμα του κώδικα που τοποθετείται μετά το ' ΕΠΙΣΤΡΟΦΗ », δήλωση. Είναι επειδή το « ΕΠΙΣΤΡΟΦΗ Η δήλωση είναι το τέλος μετά το οποίο ο μεταγλωττιστής δεν έχει τίποτα να εκτελέσει όπως φαίνεται στο παρακάτω στιγμιότυπο:
Λύση: Εισάγεται κώδικας μετά τη δήλωση 'return' στη μέθοδο main().
Για να το επιλύσετε, πληκτρολογήστε τον κωδικό μετά το ' ΕΠΙΣΤΡΟΦΗ ” δήλωση στη μέθοδο main():
Λόγος 4: Εισάγεται κωδικός μετά τη δήλωση 'ρίψη'.
Η γραμμή κώδικα που εισάγεται μετά το ' βολή 'δήλωση στο ' δοκιμάστε Το μπλοκ αφήνει μη μεταγλωττισμένα από τον μεταγλωττιστή. Για παράδειγμα, επισκεφτείτε τον παρακάτω κώδικα:
τάξη Ήμισυ {δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) //δημιουργία της μεθόδου main().
{
δοκιμάστε {
βολή νέος Εξαίρεση ( 'Πρώτη εξαίρεση' ) ;
Σύστημα . έξω . println ( 'Εξαίρεση μετά τη ρίψη' ) ;
}
σύλληψη ( Εξαίρεση κ ) {
Σύστημα . έξω . println ( κ. getMessage ( ) ) ;
}
}
}
Στον παραπάνω κωδικό, εμφανίστε ένα εικονικό μήνυμα που είναι γραμμένο μετά το ' βολή » λέξη-κλειδί.
Μετά την εκτέλεση του παραπάνω κώδικα:
Το παραπάνω στιγμιότυπο δείχνει την εμφάνιση ενός 'απρόσιτου κωδικού σφάλματος' λόγω της χρήσης του κώδικα μετά το ' βολή », δήλωση.
Λύση: Εισαγάγετε τον κωδικό πριν από τη λέξη-κλειδί 'ρίψη'.
Για να το επιλύσετε, προσπαθήστε να εισαγάγετε την ημερομηνία πριν από το ' βολή », δήλωση. Για παράδειγμα, επισκεφτείτε το παρακάτω στιγμιότυπο του κώδικα που επιλύθηκε σφάλμα:
Η παραπάνω έξοδος δείχνει ότι η εξαίρεση έχει αφαιρεθεί και ο κώδικας λειτουργεί τώρα σωστά.
συμπέρασμα
Ο ' μη προσβάσιμος κωδικός δήλωσης Το σφάλμα εμφανίζεται όταν η γραμμή κώδικα γράφεται σε σημείο που δεν είναι προσβάσιμο από τον μεταγλωττιστή. Οι πιθανές θέσεις είναι 'μετά τη δήλωση μπλοκ', 'μετά τη δήλωση συνέχεια', 'μετά τη δήλωση επιστροφής' ή 'κάτω από τη δήλωση ρίψης', κ.λπ. Αυτό είναι ένα λογικό σφάλμα και μπορεί εύκολα να επιλυθεί με επανεξέταση του κώδικα πολλές φορές και κατανόηση του τρόπου με τον οποίο ο μεταγλωττιστής μεταγλωττίζει τον κώδικα.