Kuinka ratkaista tavoittamaton lausuntokoodivirhe Javassa?

Kuinka Ratkaista Tavoittamaton Lausuntokoodivirhe Javassa



Yleisin kehittäjien kohtaama virhe on tavoittamaton lausekoodi, koska se on piilotettu eikä aiheuta virheitä suorituksen aikana. Tämä osa on tavallaan piilotettu, koska kääntäjä ei käy tai käännä tätä koodin osaa, koska se on paikassa, johon koodia ei voi saada.

Tämä artikkeli esittelee toimenpiteen, jolla käsitellään Javassa tavoitettavissa oleva lausekoodivirhe.

Kuinka ratkaista tavoittamaton lausuntokoodivirhe Javassa?

Useat syyt voivat olla syitä tavoittamattomiin käskykoodivirheisiin Javassa sekä vastaavat ratkaisut. Tämä virhe ei ole syntaksipohjainen, se on puhtaasti looginen virhe tai voi joissain tapauksissa johtua inhimillisestä virheestä. Ennen kuin siirryt ratkaisuihin, tutustu ensin syihin, jotka voivat aiheuttaa tavoittamattomien lausekekoodivirheiden:







Syy 1: Koodi lisätty 'katkos'-lausekkeen jälkeen



' tauko ”-lausetta hyödynnetään päätöksentekolausunnon ja silmukoiden yhteydessä. Se pysäyttää suoritussyklin, jos haluttu tila saavutetaan. Kääntäjä ei saavuta riviä, joka tulee ' tauko ”-lausetta kyseisessä lohkossa. Kääntäjä pysäyttää suoritussyklin ja siirtyy DOM-hierarkian seuraavaan lauseeseen.



Käy alla olevassa koodissa:





luokkaa Puoli {
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
varten ( int i = 0 ; i <= 10 ; ++ i ) {
jos ( i == 5 ) {
tauko ;
Järjestelmä . ulos . println ( i ) ;
}
}
}
}

Yllä olevan koodin pitäisi näyttää arvot kohteesta ' 0 ”–” 4 ”. Mutta kun käytetään lauseketta ' tauko ”-lauseessa ilmenee saavuttamaton lausekevirhe:



Tulos näyttää tavoittamattoman lauseen virheen.

Ratkaisu: Yritä lisätä koodi 'break'-lausekkeen yläpuolelle

Ratkaisu on käyttää käskyä sen lohkon ulkopuolella, jossa ' lohko ” lausuntoa käytetään. Esimerkiksi yllä oleva koodi suoritetaan tarkasti, jos lause on sijoitettu ' jos ' lausekelohko alla olevan kuvan mukaisesti:

Yllä oleva IDE:n tilannekuva osoittaa, että nyt tavoittamaton lausekekoodivirhe on korjattu.

Syy 2: Koodi lisätty 'jatka' -lausekkeen jälkeen

' jatkaa ”-lausetta käytetään, kun ohjelmoija haluaa ohittaa tietyn iteroinnin saadakseen sen suoritettua silmukalla. Kääntäjä katkaisee suoritussyklin aina, kun se löytää ' jatkaa ” lauseke koodissa. Tästä syystä koodi, joka suoritetaan ' jatkaa ' lauseke aiheuttaa 'unreachable lausekekoodi' -virheen:

luokkaa Puoli {
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
varten ( int i = 0 ; i <= 10 ; ++ i ) {
jos ( i == 5 ) {
jatkaa ;
Järjestelmä . ulos . println ( i ) ;
}
}
}
}

Yllä olevan koodin tulos näyttää tältä:

Tulos näyttää, että on tapahtunut 'tavoittamaton koodivirhe'.

Ratkaisu: Lisää koodi 'jatka' -lausekkeen ulkopuolelle

Voit ratkaista sen käyttämällä koodia ' jatkaa ” lausekelohko:

Asennon vaihtamisen jälkeen virhe korjataan automaattisesti.

Syy 3: Koodi lisätty palautuslausunnon jälkeen

Tämä skenaario on sama kuin yllä, kääntäjä ohittaa koodin osan, joka sijoitetaan ' palata ”lausunto. Se johtuu siitä, että ' palata ”-lause on loppu, jonka jälkeen kääntäjällä ei ole mitään suoritettavaa, kuten alla olevassa tilannekuvassa näkyy:

Ratkaisu: Koodi lisätty main()-menetelmässä 'return'-lausekkeen jälkeen

Ratkaise ongelma kirjoittamalla koodi ' palata ”-lause main()-metodissa:

Syy 4: Koodi lisätty heittolausekkeen jälkeen

'' jälkeen lisätty koodirivi heittää ' lausunto ' yrittää ”-lohko jättää kääntäjän kääntämättä. Käy esimerkiksi alla olevassa koodissa:

luokkaa Puoli {
julkinen staattinen mitätön pää ( merkkijono [ ] args ) //main()-menetelmän luominen
{
yrittää {
heittää Uusi Poikkeus ( 'Ensimmäinen poikkeus' ) ;
Järjestelmä . ulos . println ( 'After Throw poikkeus' ) ;
}
ottaa kiinni ( Poikkeus k ) {
Järjestelmä . ulos . println ( k. getMessage ( ) ) ;
}
}
}

Yllä olevassa koodissa näytä valeviesti, joka on kirjoitettu ' heittää ”avainsana.

Yllä olevan koodin suorittamisen jälkeen:

Yllä oleva tilannekuva näyttää 'tavoittamaton koodivirheen' esiintymisen, joka johtuu koodin käytöstä ' heittää ”lausunto.

Ratkaisu: Lisää koodi ennen 'heittää' -avainsanaa

Voit ratkaista sen yrittämällä lisätä päivämäärän ennen ' heittää ”lausunto. Katso esimerkiksi alla oleva virheenkorjatun koodin tilannekuva:

Yllä oleva tulos osoittaa, että poikkeus on poistettu ja koodi toimii nyt oikein.

Johtopäätös

' tavoittamaton lausekekoodi ” virhe syntyy, kun koodirivi kirjoitetaan paikkaan, johon kääntäjä ei pääse. Mahdolliset paikat ovat 'block-lauseen jälkeen', 'jatka-lauseen jälkeen', 'return-lauseen jälkeen' tai 'heittolausekkeen alapuolella' jne. Tämä on looginen virhe, ja se voidaan helposti korjata tarkistamalla koodi useita kertoja ja ymmärtää tapa, jolla kääntäjä kääntää koodin.