Java Unreachable statement ist ein Fehler gemäß der Java-Sprachspezifikation.
Dieser Fehler bedeutet, dass der Kontrollfluss Ihres Programms nicht zu dieser Anweisung gelangen kann, aber Sie gehen davon aus, dass dies der Fall wäre. Der Compiler analysiert den Ablauf und meldet diese Anweisungen als Fehlermeldungen an Sie. Es ist ein zuverlässiger Indikator für logische Fehler in Ihrem Programm.
Diese Anweisungen sind möglicherweise aus folgenden Gründen nicht erreichbar:
- Return-Anweisung
- Endlosschleife
Return-Anweisung
Im obigen Beispiel beendet die return-Funktion Ihre Methode, dh es wird keine Codezeile ausgeführt. Wenn Sie möchten, dass Ihr Druck ausgeführt wird, sollten Sie ihn über die return-Anweisung verschieben. Wenn Sie Anweisungen nach der return-Anweisung beibehalten, sind diese Anweisungen vom Controller nicht erreichbare Anweisungen. Durch die Verwendung der return Anweisung sagen wir, dass die Steuerung explizit zu ihrem Aufrufer zurückkehren soll.
Endlosschleife
Der Compiler gibt Ihnen einen nicht erreichbaren Anweisungsfehler, weil Ihr System.aus.print(„inside infinite loop“); Code kann niemals mit erreicht werden. Wenn der Compiler den gesamten Code kompiliert und Bytecode gemäß Ihrem Code erstellt, reicht es aus, nicht erreichbaren Code und auch toten Code zu erkennen. Ein sofortiger Bruch in der for-Schleife macht also andere Anweisungen unerreichbar.
Wenn der Compiler eine nicht erreichbare Anweisung meldet, verweist er Sie normalerweise auf die Anweisung. In diesem Fall können Sie den Kontrollfluss von oben nach unten verfolgen, um herauszufinden, warum die Anweisung niemals erreicht werden kann. Es gibt ziemlich strenge Regeln, wenn Anweisungen in Java erreichbar sind. Diese Regeln sind so konzipiert, dass sie leicht ausgewertet werden können und nicht zu 100% genau sind. Es sollte grundlegende Programmierfehler verhindern. Um über die Erreichbarkeit in Java nachzudenken, sind Sie auf diese Regeln beschränkt. Hier sind die Regeln aus der Java Language Specification 14.21. Unerreichbare Aussagen.