Kuidas lahendada Javas kättesaamatu väljavõtte koodi viga?

Kuidas Lahendada Javas Kattesaamatu Valjavotte Koodi Viga



Kõige levinum viga, millega arendajad silmitsi seisavad, on kättesaamatu avalduse kood, kuna see on peidetud ega tekita käivitamisel vigu. See osa on teatud mõttes peidetud, kuna kompilaator ei külasta ega kompileeri seda koodiosa, kuna see asub kohas, mis on koodi jaoks kättesaamatu osa.

See artikkel tutvustab Javas kättesaamatu avalduse koodi vea käsitlemise protseduuri.

Kuidas lahendada Javas kättesaamatu väljavõtte koodi viga?

Java kättesaamatute väljavõttekoodi vigade põhjuseks võib olla mitu põhjust koos vastavate lahendustega. See viga ei ole süntaksipõhine, see on puhtalt loogiline viga või võib mõnel juhul tekkida inimliku eksituse tõttu. Enne lahenduste külastamist uurime esmalt põhjuseid, mis võivad olla kättesaamatute väljavõttekoodi vigade põhjuseks:







Põhjus 1: kood sisestati pärast katkestusavaldust



' murda ” lauset kasutatakse koos otsustusavalduse ja tsüklitega. See peatab täitmistsükli, kui soovitud olek on saavutatud. Kompilaator ei jõua reale, mis saabub ' kõrval murda ” avaldus selles plokis. Kompilaator peatab täitmistsükli ja liigub DOM-i hierarhias järgmise lause poole.



Külastage allolevat koodi:





klass Pool {
avalik staatiline tühine peamine ( String [ ] args ) {
jaoks ( int i = 0 ; i <= 10 ; ++ i ) {
kui ( i == 5 ) {
murda ;
Süsteem . välja . println ( i ) ;
}
}
}
}

Ülaltoodud kood peaks kuvama väärtused 0 ' kuni ' 4 ”. Kuid kui kasutada avaldust pärast ' murda ” lauses ilmneb kättesaamatu lause viga:



Väljund näitab kättesaamatu avalduse vea esinemist.

Lahendus. Proovige sisestada kood lause 'break' kohale

Lahendus on kasutada avaldust väljaspool plokki, milles ' blokk ” avaldust kasutatakse. Näiteks käivitub ülaltoodud kood täpselt, kui avaldus asetatakse väljapoole ' kui ” lauseplokk, nagu allpool näidatud:

Ülaltoodud IDE hetktõmmis näitab, et nüüd on kättesaamatu avalduse koodi viga lahendatud.

2. põhjus: kood sisestati pärast avaldust 'jätka'.

' jätka ” lauset kasutatakse siis, kui programmeerija soovib konkreetne iteratsioon vahele jätta, et seda tsükliga käivitada. Kompilaator katkestab täitmistsükli alati, kui leiab ' jätka ” lause koodis. Sellepärast käivitatakse kood pärast ' jätka ' avaldus põhjustab tõrke 'kättesaamatu avalduse kood':

klass Pool {
avalik staatiline tühine peamine ( String [ ] args ) {
jaoks ( int i = 0 ; i <= 10 ; ++ i ) {
kui ( i == 5 ) {
jätka ;
Süsteem . välja . println ( i ) ;
}
}
}
}

Ülaltoodud koodi väljund näeb välja selline:

Väljund näitab, et ilmnes kättesaamatu koodi viga.

Lahendus: sisestage kood väljavõtteplokist 'jätkamine' väljapoole

Selle lahendamiseks kasutage lihtsalt koodi väljaspool ' jätka ” lauseplokk:

Pärast asendi muutmist lahendatakse viga automaatselt.

Põhjus 3: kood sisestati pärast „tagasi” avaldust

See stsenaarium on sama, mis ülal, kompilaator jätab vahele koodi osa, mis asetatakse pärast ' tagasi ” avaldus. Põhjus on selles, et ' tagasi ” lause on lõpp, mille järel pole kompilaatoril midagi teha, nagu on näidatud alloleval pildil:

Lahendus: kood sisestatakse main() meetodis pärast 'tagasi' avaldust

Selle lahendamiseks sisestage kood pärast ' tagasi ” lause main() meetodis:

Põhjus 4: kood sisestati pärast 'viska' avaldust

Koodirida, mis on sisestatud pärast ' viskama ' avaldus jaotises ' proovi ” plokk jätab kompilaatori poolt kompileerimata. Näiteks külastage allolevat koodi:

klass Pool {
avalik staatiline tühine peamine ( String [ ] args ) //main() meetodi loomine
{
proovi {
viskama uus Erand ( 'Esimene erand' ) ;
Süsteem . välja . println ( 'After Throw erand' ) ;
}
püüda ( Erand k ) {
Süsteem . välja . println ( k. getMessage ( ) ) ;
}
}
}

Ülaltoodud koodis kuvage näiv sõnum, mis on kirjutatud pärast ' viskama ” märksõna.

Pärast ülaltoodud koodi täitmist:

Ülaltoodud hetktõmmis näitab 'kättesaamatu koodi tõrke' ilmnemist, mis on tingitud koodi kasutamisest pärast ' viskama ” avaldus.

Lahendus: sisestage kood enne märksõna 'viskamist'.

Selle lahendamiseks proovige sisestada kuupäev enne ' viskama ” avaldus. Näiteks vaadake allolevat veaga lahendatud koodi hetktõmmist:

Ülaltoodud väljund näitab, et erand on eemaldatud ja kood töötab nüüd korralikult.

Järeldus

' kättesaamatu avalduse kood ” viga tekib siis, kui koodirida kirjutatakse kohta, kuhu kompilaator ei pääse. Võimalikud kohad on 'pärast block lauset', 'pärast lauset Jätka', 'pärast return lauset' või 'viska lause all' jne. See on loogikaviga ja seda saab koodi mitu korda üle vaadates hõlpsasti lahendada. ja mõista, kuidas kompilaator koodi kompileerib.