Ez a cikk bemutatja a Java elérhetetlen utasításkód-hibájának kezelési eljárását.
Hogyan lehet megoldani az elérhetetlen nyilatkozatkód hibát a Java-ban?
A Java elérhetetlen utasításkód-hibáinak több oka is lehet, a megfelelő megoldásokkal együtt. Ez a hiba nem szintaktikai alapú, pusztán logikai hiba, vagy bizonyos esetekben emberi hiba is előfordulhat. A megoldások megtekintése előtt először nézzük meg azokat az okokat, amelyek az elérhetetlen utasításkód hibáinak okai lehetnek:
1. ok: A kód beszúrva a „szünet” nyilatkozat után
A ' szünet ” utasítást a döntéshozatali nyilatkozat és a hurkok mentén használjuk. Leállítja a végrehajtási ciklust, ha eléri a kívánt állapotot. A fordító nem éri el azt a sort, amely a „ szünet ” kijelentést abban a blokkban. A fordító leállítja a végrehajtási ciklust, és a DOM-hierarchia következő utasítása felé lép.
Látogassa meg az alábbi kódot:
osztály Fél {
nyilvános statikus üres fő- ( Húr [ ] args ) {
számára ( int én = 0 ; én <= 10 ; ++ én ) {
ha ( én == 5 ) {
szünet ;
Rendszer . ki . println ( én ) ;
}
}
}
}
A fenti kódnak a következő értékeit kell megjelenítenie: 0 ' nak nek ' 4 ”. De a következő kijelentés használatával: szünet ” utasítás esetén az elérhetetlen utasítás hiba lép fel:
A kimenet egy elérhetetlen utasításhiba előfordulását mutatja.
Megoldás: Próbálja meg beszúrni a kódot a „break” utasítás fölé
A megoldás az, hogy az utasítást azon a blokkon kívül használjuk, amelyben a „ Blokk ” utasítás kerül felhasználásra. Például a fenti kód pontosan végrehajtódik, ha az utasítás a „ ha ” utasításblokk az alábbiak szerint:
Az IDE fenti pillanatképe azt mutatja, hogy az elérhetetlen utasításkód hiba megoldódott.
2. ok: A kód beszúrva a „folytatás” utasítás után
A ' folytatni ” utasítás akkor használatos, amikor a programozó ki akar hagyni egy adott iterációt, hogy a ciklus végrehajthassa. A fordító megszakítja a végrehajtási ciklust, amikor megtalálja a „ folytatni ” utasítást a kódban. Ezért a kód, amely a „ folytatni ” utasítás „elérhetetlen utasításkód” hibát okoz:
osztály Fél {nyilvános statikus üres fő- ( Húr [ ] args ) {
számára ( int én = 0 ; én <= 10 ; ++ én ) {
ha ( én == 5 ) {
folytatni ;
Rendszer . ki . println ( én ) ;
}
}
}
}
A fenti kód kimenete így néz ki:
A kimenet azt mutatja, hogy „elérhetetlen kódhiba” történt.
Megoldás: Szúrjon be kódot a „folytatás” utasításblokkon kívülre
A megoldáshoz egyszerűen használja a kódot a ' folytatni ” utasításblokk:
A pozíció megváltoztatása után a hiba automatikusan megoldódik.
3. ok: A kód beszúrva a „visszaküldési” nyilatkozat után
Ez a forgatókönyv ugyanaz, mint fent, a fordító kihagyja a kódnak azt a részét, amely a „ Visszatérés ' nyilatkozat. Ez azért van, mert a ' Visszatérés ” utasítás az a vége, amely után a fordítónak nincs mit végrehajtania, ahogy az az alábbi pillanatképen látható:
Megoldás: A kód beszúrva a „return” utasítás után a main() metódusban
A megoldáshoz írja be a kódot a „ Visszatérés ” utasítás a main() metódusban:
4. ok: A kód beszúrva a „dobás” nyilatkozat után
A ' után beszúrt kódsor dobás ' nyilatkozat a ' próbáld ki ” blokk lefordítatlan marad a fordító által. Látogassa meg például az alábbi kódot:
osztály Fél {nyilvános statikus üres fő- ( Húr [ ] args ) //main() metódus létrehozása
{
próbáld ki {
dobás új Kivétel ( 'Első kivétel' ) ;
Rendszer . ki . println ( 'After Throw kivétel' ) ;
}
fogás ( Kivétel k ) {
Rendszer . ki . println ( k. getMessage ( ) ) ;
}
}
}
A fenti kódban jelenítsen meg egy üres üzenetet, amely a „ dobás ” kulcsszó.
A fenti kód végrehajtása után:
A fenti pillanatkép egy „elérhetetlen kódhiba” előfordulását mutatja a „ dobás ' nyilatkozat.
Megoldás: Szúrjon be kódot a „dobás” kulcsszó előtt
A megoldáshoz próbálja beszúrni a dátumot a ' dobás ' nyilatkozat. Tekintse meg például az alábbi pillanatképet a hibamegoldott kódról:
A fenti kimenet azt mutatja, hogy a kivételt eltávolították, és a kód most megfelelően működik.
Következtetés
A ' elérhetetlen nyilatkozat kódja ” hiba akkor keletkezik, ha a kódsor olyan helyre íródik, amelyet a fordító nem ér el. A lehetséges helyek a következők: „after the block utasítás”, „after the following utasítás”, „after return utasítás” vagy „a throw utasítás alatt” stb. Ez logikai hiba, és a kód többszöri áttekintésével könnyen megoldható. és annak megértése, hogy a fordító hogyan fordítja a kódot.