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.