Javaの到達不能文は、Java言語仕様に準拠したエラーです。
このエラーは、プログラムの制御フローがその文に到達できないことを意味しますが、それらがそうであると仮定します。 コンパイラはフローを分析し、これらのステートメントをエラーメッセージとして報告します。 それはあなたのプログラムの論理エラーの信頼できる指標です。
これらのステートメントは、主に次の理由により到達できない可能性があります:
- Return文
- 無限ループ
Return文
上記の例では、return関数はメソッドを終了し、それを過ぎたコード行は実行されません。 印刷を通過させたい場合は、return文の上に移動する必要があります。 Return文の後に文を保持すると、それらの文はコントローラによって到達できない文になります。 Return文を使用することによって、制御は明示的に呼び出し元に戻るべきであると伝えています。Java infinite loop
コンパイラはあなたのシステムのために到達不能な文エラーを与えています。出ろprint(“inside infinite loop”);コードに到達することはできません。 コンパイラがコード全体をコンパイルし、コードに従ってバイトコードを作成すると、到達不能なコードとデッドコードを検出するのに十分賢くなります。 したがって、forループの即時ブレークは、他のステートメントに到達できません。
コンパイラが到達不能な文を報告すると、通常はその文を指します。 その場合、上から下への制御の流れに従うことで、文に到達できない理由を発見することができます。 文がjavaで到達可能な場合、非常に厳しい規則があります。 これらのルールは、簡単に評価され、100%正確ではないように設計されています。 これは、基本的なプログラミングエラーを防ぐ必要があります。 Javaでの到達可能性については、これらのルールに制限されているため、共通のロジックは適用されません。 ここでは、Java言語仕様14.21のルールを示します。 到達不能なステートメント。