Hur löser man ett oåtkomligt meddelandekodfel i Java?

Hur Loser Man Ett Oatkomligt Meddelandekodfel I Java



Det vanligaste felet som utvecklare möter är den onåbara satskoden eftersom den är dold och inte genererar något fel när de körs. Den här delen är dold på ett sätt, eftersom kompilatorn inte besöker eller kompilerar denna del av koden eftersom den är på en plats som är den oåtkomliga delen för koden.

Den här artikeln visar tillvägagångssättet för att hantera det oåtkomliga kodfelet i Java.

Hur löser man ett oåtkomligt meddelandekodfel i Java?

Flera orsaker kan vara orsakerna till oåtkomliga programkodfel i Java, tillsammans med motsvarande lösningar. Detta fel är inte syntaxbaserat, det är rent logiskt fel eller kan uppstå på grund av mänskliga fel i vissa fall. Innan vi besöker lösningarna, låt oss först titta på orsakerna som kan vara orsaken till oåtkomliga programkodfel:







Orsak 1: Kod infogas efter 'paus'-uttalande



den ' ha sönder ” uttalande används längs beslutsfattande uttalande och loopar. Den stoppar exekveringscykeln om det önskade tillståndet uppnås. Kompilatorn når inte raden som kommer bredvid ' ha sönder ” uttalande i det blocket. Kompilatorn stoppar exekveringscykeln och går mot nästa sats i DOM-hierarkin.



Besök koden nedan:





klass Halv {
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
för ( int i = 0 ; i <= 10 ; ++ i ) {
om ( i == 5 ) {
ha sönder ;
Systemet . ut . println ( i ) ;
}
}
}
}

Ovanstående kod ska visa värden från ' 0 ' till ' 4 ”. Men med användningen av uttalandet efter ' ha sönder ” uttalande det onåbara satsfelet uppstår:



Utdata visar förekomsten av ett oåtkomligt satsfel.

Lösning: Försök att infoga koden ovanför 'paus'-satsen

Lösningen är att använda satsen utanför blocket där ' blockera ” uttalande används. Till exempel, ovanstående kod körs korrekt om uttalandet placeras utanför ' om ” uttalande block som visas nedan:

Ovanstående ögonblicksbild från IDE visar att nu är det oåtkomliga satskodfelet löst.

Orsak 2: Koden infogas efter 'fortsätt'-meddelandet

den ' Fortsätta ”-satsen används när programmeraren vill hoppa över en specifik iteration för att exekveras av loopen. Kompilatorn bryter exekveringscykeln när den hittar ' Fortsätta ” uttalande i koden. Det är därför koden körs efter ' Fortsätta '-satsen orsakar ett 'unreachable statement code'-fel:

klass Halv {
offentlig statisk tomhet huvud ( Sträng [ ] args ) {
för ( int i = 0 ; i <= 10 ; ++ i ) {
om ( i == 5 ) {
Fortsätta ;
Systemet . ut . println ( i ) ;
}
}
}
}

Utdata från ovanstående kod ser ut så här:

Utdatan visar att det 'oåtkomliga kodfelet' har inträffat.

Lösning: Infoga koden utanför 'fortsätt' meddelandeblocket

För att lösa det, använd helt enkelt koden utanför ' Fortsätta ” uttalande block:

Efter att ha ändrat positionen åtgärdas felet automatiskt.

Orsak 3: Koden infogas efter 'retur'-intyget

Detta scenario är detsamma som ovan, kompilatorn hoppar över den del av koden som placeras efter ' lämna tillbaka ' påstående. Det beror på att ' lämna tillbaka ”-satsen är slutet efter vilket kompilatorn inte har något att utföra som visas i ögonblicksbilden nedan:

Lösning: Koden infogas efter 'retur'-satsen i main()-metoden

För att lösa det, skriv in koden efter ' lämna tillbaka ”-sats i main()-metoden:

Orsak 4: Koden infogas efter 'kastnings'-intyget

Kodraden som infogas efter ' kasta ' uttalande i ' Prova ” block lämnar okompilerade av kompilatorn. Besök till exempel koden nedan:

klass Halv {
offentlig statisk tomhet huvud ( Sträng [ ] args ) //skapandet av main()-metoden
{
Prova {
kasta ny Undantag ( 'Första undantaget' ) ;
Systemet . ut . println ( 'After Throw undantag' ) ;
}
fånga ( Undantag k ) {
Systemet . ut . println ( k. getMessage ( ) ) ;
}
}
}

I ovanstående kod, visa ett dummymeddelande som är skrivet efter ' kasta ' nyckelord.

Efter exekvering av ovanstående kod:

Ovanstående ögonblicksbild visar förekomsten av ett 'oåtkomligt kodfel' på grund av användningen av kod efter ' kasta ' påstående.

Lösning: Infoga kod före 'kasta' nyckelord

För att lösa det, försök att infoga datumet före ' kasta ' påstående. Besök till exempel ögonblicksbilden nedan av den fellösta koden:

Ovanstående utdata visar att undantaget har tagits bort och att koden nu fungerar korrekt.

Slutsats

den ' oåtkomlig uttalandekod ”-fel uppstår när kodraden skrivs på en plats som inte kan nås av kompilatorn. De möjliga platserna är 'efter blocksatsen', 'efter continue-satsen', 'efter retursatsen' eller 'under throw-satsen', etc. Detta är ett logiskt fel och kan enkelt lösas genom att granska koden flera gånger och förstå hur kompilatorn kompilerar koden.