Wie behebe ich den Fehler „Unreachable Statement Code“ in Java?

Wie Behebe Ich Den Fehler Unreachable Statement Code In Java



Der häufigste Fehler, mit dem Entwickler konfrontiert werden, ist der nicht erreichbare Anweisungscode, da er verborgen ist und bei der Ausführung keine Fehler generiert. Dieser Teil ist in gewisser Weise verborgen, da der Compiler diesen Teil des Codes nicht besucht oder kompiliert, da er sich an einer Stelle befindet, die für den Code nicht erreichbar ist.

In diesem Artikel wird die Vorgehensweise zur Behandlung des Fehlers „Nicht erreichbarer Anweisungscode“ in Java veranschaulicht.

Wie behebe ich den Fehler „Unreachable Statement Code“ in Java?

Die Ursachen für Fehler im Code der nicht erreichbaren Anweisung in Java können mehrere Ursachen haben, zusammen mit den entsprechenden Lösungen. Dieser Fehler ist nicht syntaxbasiert, sondern ein rein logischer Fehler oder kann in einigen Fällen auf menschliches Versagen zurückzuführen sein. Bevor wir uns die Lösungen ansehen, schauen wir uns zunächst die Gründe an, die die Ursache für Fehler im Code der nicht erreichbaren Anweisung sein können:







Grund 1: Code nach „break“-Anweisung eingefügt



Der ' brechen Die Anweisung wird entlang der Entscheidungsaussage und der Schleifen verwendet. Es stoppt den Ausführungszyklus, wenn der gewünschte Zustand erreicht ist. Der Compiler erreicht nicht die Zeile, die neben „ brechen ”-Anweisung in diesem Block. Der Compiler stoppt den Ausführungszyklus und geht zur nächsten Anweisung in der DOM-Hierarchie über.



Besuchen Sie den folgenden Code:





Klasse Halb {
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args ) {
für ( int ich = 0 ; ich <= 10 ; ++ ich ) {
Wenn ( ich == 5 ) {
brechen ;
System . aus . println ( ich ) ;
}
}
}
}

Der obige Code sollte Werte von „ anzeigen 0 ' Zu ' 4 “. Aber mit der Verwendung der Aussage nach dem „ brechen ”-Anweisung tritt der unerreichbare Anweisungsfehler auf:



Die Ausgabe zeigt das Auftreten eines nicht erreichbaren Anweisungsfehlers.

Lösung: Versuchen Sie, Code oberhalb der „break“-Anweisung einzufügen

Die Lösung besteht darin, die Anweisung außerhalb des Blocks zu verwenden, in dem „ Block ”-Anweisung wird verwendet. Der obige Code wird beispielsweise korrekt ausgeführt, wenn die Anweisung außerhalb von „ platziert wird. Wenn ”-Anweisungsblock wie unten gezeigt:

Der obige Schnappschuss aus der IDE zeigt, dass der Fehler beim nicht erreichbaren Anweisungscode nun behoben ist.

Grund 2: Code nach der „continue“-Anweisung eingefügt

Der ' weitermachen Die Anweisung wird verwendet, wenn der Programmierer eine bestimmte Iteration überspringen möchte, um von der Schleife ausgeführt zu werden. Der Compiler unterbricht den Ausführungszyklus immer dann, wenn er das „“ findet. weitermachen ”-Anweisung im Code. Aus diesem Grund wird der Code nach dem „ weitermachen Die Anweisung verursacht den Fehler „nicht erreichbarer Anweisungscode“:

Klasse Halb {
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args ) {
für ( int ich = 0 ; ich <= 10 ; ++ ich ) {
Wenn ( ich == 5 ) {
weitermachen ;
System . aus . println ( ich ) ;
}
}
}
}

Die Ausgabe des obigen Codes sieht folgendermaßen aus:

Die Ausgabe zeigt, dass der „Unreachable Code Error“ aufgetreten ist.

Lösung: Fügen Sie Code außerhalb des „continue“-Anweisungsblocks ein

Um das Problem zu beheben, verwenden Sie einfach den Code außerhalb des „ weitermachen ” Anweisungsblock:

Nach Änderung der Position wird der Fehler automatisch behoben.

Grund 3: Code nach der „return“-Anweisung eingefügt

Dieses Szenario ist das gleiche wie oben, der Compiler überspringt den Teil des Codes, der nach dem „ zurückkehren ' Stellungnahme. Es liegt daran, dass „ zurückkehren ”-Anweisung ist das Ende, nach dem der Compiler nichts mehr ausführen muss, wie im folgenden Schnappschuss gezeigt:

Lösung: Code nach der „return“-Anweisung in der main()-Methode eingefügt

Um das Problem zu beheben, geben Sie den Code nach dem „ zurückkehren ”-Anweisung in der main()-Methode:

Grund 4: Code nach der „throw“-Anweisung eingefügt

Die nach dem „ eingefügte Codezeile Wurf ” Aussage in der „ versuchen Der Block bleibt vom Compiler unkompiliert. Besuchen Sie zum Beispiel den folgenden Code:

Klasse Halb {
öffentlich statisch Leere hauptsächlich ( Zeichenfolge [ ] args ) //Erstellung der Methode main()
{
versuchen {
Wurf neu Ausnahme ( „Erste Ausnahme“ ) ;
System . aus . println ( „After Throw-Ausnahme“ ) ;
}
fangen ( Ausnahme k ) {
System . aus . println ( k. getMessage ( ) ) ;
}
}
}

Zeigen Sie im obigen Code eine Dummy-Nachricht an, die nach dem „ Wurf ' Stichwort.

Nach der Ausführung des obigen Codes:

Der obige Schnappschuss zeigt das Auftreten eines „nicht erreichbaren Codefehlers“ aufgrund der Verwendung von Code nach dem „ Wurf ' Stellungnahme.

Lösung: Fügen Sie Code vor dem Schlüsselwort „throw“ ein

Um das Problem zu beheben, versuchen Sie, das Datum vor dem „ Wurf ' Stellungnahme. Sehen Sie sich beispielsweise den folgenden Schnappschuss des fehlerbehobenen Codes an:

Die obige Ausgabe zeigt, dass die Ausnahme entfernt wurde und der Code jetzt ordnungsgemäß funktioniert.

Abschluss

Der ' Nicht erreichbarer Anweisungscode Der Fehler tritt auf, wenn die Codezeile an einer Stelle geschrieben wird, die für den Compiler nicht erreichbar ist. Die möglichen Stellen sind „nach der Blockanweisung“, „nach der Continue-Anweisung“, „nach der Return-Anweisung“ oder „unter der Throw-Anweisung“ usw. Dies ist ein logischer Fehler und kann durch mehrmaliges Überprüfen des Codes leicht behoben werden und verstehen, wie der Compiler den Code kompiliert.