Java Unreachable statement er en feil i Henhold Til Java Language Spec .
denne feilen betyr at kontrollflyten til programmet ditt ikke kan komme til den setningen, men du antar at de ville være. Kompilatoren analyserer flyten, og rapporterer disse setningene til deg som feilmeldinger. Det er en pålitelig indikatorer på logisk feil i programmet.
disse uttalelsene kan være utilgjengelige hovedsakelig på grunn av følgende årsaker:
- Return statement
- Infinite loop
Retur statement
i eksemplet ovenfor vil returfunksjonen avslutte metoden din, noe som betyr at ingen kodelinje forbi den vil bli utført . Hvis du vil at utskriften skal gå gjennom, bør du flytte den over returerklæringen. Hvis du beholder noen uttalelser etter returerklæringen, er disse uttalelsene uoppnåelige uttalelser fra kontrolleren. Ved å bruke return statement forteller vi at kontrollen skal gå tilbake til sin innringer eksplisitt .
Uendelig sløyfe
kompilatoren gir deg En Uoppnåelig setningsfeil fordi Systemet ditt.ut.skriv ut («inside infinite loop»); kode kan aldri nås med. Når kompilatoren kompilerer hele kroppen av kode og gjøre byte kode i henhold til koden din, det smartere nok til å oppdager uoppnåelig kode og også død kode. Så, umiddelbar pause i for-loop gjør unreachable andre uttalelser.
når kompilatoren rapporterer en uoppnåelig setning, peker den vanligvis på setningen. Når det skjer, kan du følge strømmen av kontroll fra topp til bunn for å finne ut hvorfor uttalelsen aldri kan nås. Det er ganske strenge regler når uttalelser kan nås i java. Disse reglene er designet for å bli enkelt evaluert og ikke å være 100% nøyaktig. Det bør forhindre grunnleggende programmeringsfeil. For å begrunne om reachability i java er du begrenset til disse reglene, common logic gjelder ikke. Så her er reglene fra Java Language Specification 14.21. Uoppnåelige Uttalelser.