CodeGym /Blog Jawa /Acak /Kesalahan Kode Pranyatan sing Ora Bisa Digayuh ing Jawa
John Squirrels
tingkat
San Francisco

Kesalahan Kode Pranyatan sing Ora Bisa Digayuh ing Jawa

Diterbitake ing grup
Pernyataan kode sing ora bisa digayuh minangka masalah umum ing antarane pamula Jawa. Akeh pangembang anyar mbingungake kesalahan karo "kode mati" - fenomena liyane sing gegandhengan karo Jawa. Sanajan loro kasebut padha karo manifestasi, ana sawetara beda sing bakal kita bahas ing kirim iki. Liyane saka iku, sampeyan bakal nemokake apa alasan paling umum kanggo compiler sampeyan bali statement kode unreachable lan nemokake sawetara mbecike gampang kanggo njaluk kode munggah lan mbukak maneh.

Apa Kode sing Ora Bisa Digayuh?

Miturut definisi, pratelan sing ora bisa digayuh yaiku sing ora bakal dieksekusi dening kompiler nalika sampeyan mbukak kode sing siap dipasang. Pernyataan bali kode sing ora bisa digayuh biasane minangka tandha kesalahan logis ing program kasebut. Senajan ana sawetara alasan apa sampeyan mungkasi munggah karo statement kuwi, ing kabeh kasus, unreachable kode keluwih, clutters program, lan kudu nyingkiri ing kabeh biaya.

Kode Ora Bisa Digayuh vs Kode Mati

Ing komunitas pangembangan, konsep kode "ora bisa digayuh" lan "mati" praktis sinonim. Nanging, yen sampeyan ora seneng nalika maca dokumentasi, sampeyan bisa uga ndeleng manawa pedoman pangembangan asring nyebutake loro kasebut kanthi kapisah. Apa ana prabédan antarane kode mati lan ora bisa digayuh? Sejatine, bedane antarane loro kesalahan kasebut yaiku cara kompiler nanggapi. Yen kode sing sampeyan lebokake ing kompiler ora bisa digayuh , sampeyan bakal entuk kesalahan runtime kompilasi ing kabar Java. Yen statement sampeyan " kode mati ", ora bakal ana kesalahan runtime - pangembang bakal entuk bebaya sistem ing ngisor iki:

class DeadCode {
    void deadcode_Method(boolean b) {
    System.out.println("Reachable statement");
        if(true) {
        return;
        }
    System.out.println("Unreachable statement"); // dead code
    }
}
Amarga ora ana kesalahan kompiler langsung ing kasus kode mati, luwih angel dideteksi. Nanging, yen sampeyan nglacak kanthi ati-ati babagan bali System.out.printIn , nyekel kode mati ora bakal nyebabake masalah.

Apa Sampeyan Njaluk Pranyatan Kode sing Ora Bisa Digayuh

Kabar apik, iku gampang kanggo nglacak sabab saka masalah kode unreachable. Ana telung alasan utama kenapa compiler sampeyan tetep ngasilake kesalahan:
  • pratelan transfer. Yen sampeyan ngilangi kode kanthi pernyataan bali, ora ana sing bakal ditindakake sawise "bali = bener".
  • Daur ulang tanpa wates - ora ana kode sing sampeyan tulis sawise daur ulang tanpa wates bakal dieksekusi amarga sistem bakal terus ngulang tumindak daur ulang. Mangkono, nalika ngowahi kode sampeyan ing kode byte, compiler bakal ngirim kesalahan kode sing ora bisa digayuh.
Kanggo mbantu sampeyan menehi tandha lan ndandani masalah kasebut, ayo nggedhekake.

statements bali

Pernyataan bali minangka bagean saka grup tembung kunci Transfer, tegese mungkasi metode sampeyan. Iku migunani kanggo misahake fungsi lan mbantu supaya kode bisa diwaca lan resik. Nanging, amarga sampeyan ora bisa nambah pratelan anyar menyang fungsi sawise bali = bener, nyoba nerusake fungsi sawise tembung kunci bakal menehi kesalahan kompiler "Kode sing ora bisa diakses". Ayo goleki conto "bali = bener" mishandling lan cara compiler nanggepi.

class GFG {
    public static void main(String args[])
    {
  
        System.out.println("My code will run");
  
        return;
  
        // ironically, this code will never run
        // here’s an unreachable code message a developer gets.
        System.out.println("My code will run");
    }
}
Mangkene carane penyalahgunaan statement bali bakal ditampilake ing kompiler:

prog.java:11: error: unreachable statement
System.out.println(“My code will run”);
^
1 error
Kanggo nguatake apa sing sampeyan sinau, disaranake sampeyan nonton video pelajaran saka Kursus Jawa

Break statements

Pernyataan break minangka jinis tembung kunci liyane sing kudu sampeyan ati-ati nalika nulis fungsi Jawa. Miturut definisi, tembung kunci break digunakake kanggo mungkasi loop. Ing conto ing ngisor iki, nalika pangembang metu saka daur ulang, dheweke ora bakal bisa nglakokake statement ing baris 8 - mula, kompiler bakal nuduhake kesalahan statement sing ora bisa digayuh. Iki minangka conto kode sing bakal nyebabake pernyataan kode sing ora bisa digayuh:

public class JavaCodeGeeks
     {
    public static void main(String[] args) {
     for(int i=1;i<5;i++)
        {
        System.out.println(i);
        break;
        System.out.println("Code after break");
        }
    }
}
Deleng kesalahan saka sudut pandang kompiler, sampeyan bakal entuk statement kesalahan ing ngisor iki.

JavaCodeGeeks.java:8: error: unreachable statement
System.out.println("After break");
                ^
1 error

Terusake statements

Terusake minangka tembung kunci kontrol loop sing digunakake kanggo ngulang tumindak. Kapan sampeyan pengin eksekusi daur ulang diwiwiti saka awal dhewe, tambahake terus menyang kode sampeyan. Pernyataan kasebut migunani kanggo mbantu para pangembang milih pernyataan saka loop sing pengin diulang lan sing ora bakal dilebokake ing iterasi. Sanajan terus minangka tembung kunci sing gampang digunakake, ora duwe pangerten lengkap babagan cara kerjane ndadékaké pangembang menyang jebakan "kode sing ora bisa digayuh". Wiwit, sawise nemoni terus, sistem bakal mbaleni puteran kasebut, tembung kunci ora bakal bisa nggayuh pernyataan sing ngetutake. Ngomong, sampeyan duwe kode ing ngisor iki:

public class JavaIsFun
{
    public static void main(String[] args) {
        for(int i=0;i<8;i++)
        {
            System.out.println(i);
            if(i==5)
            {
                continue;
                System.out.println("Coding after continue");
            }
        }
    }
}
Sistem ora bakal nglakokake statement "Coding sawise terus" - kompiler bakal langsung ngandhani sampeyan.

JavaIsFun.java:10: error: unreachable statement
                                System.out.println("Coding after continue");

puteran tanpa wates

Skenario sing padha karo conto kasus panggunaan tembung kunci "break" lan "terus" yaiku loop tanpa wates. Nalika ngrancang loop tanpa wates, pangembang kudu ngelingi yen ora ana statement sing bakal ditindakake. Mangkono, yen sampeyan ora ngilangi loop, kabeh kode sing ditulis sawise ora bisa digayuh. Mangkene conto sing menarik babagan kesalahan penanganan loop tanpa wates kanggo dipriksa:

public class JavaCodeGym
{
    public static void main(String[] args) {
        while(true)
        {
            System.out.println("Hey there");
        }
        System.out.println("Nice to see you");
    }
}
Sampeyan bisa guess ngendi kesalahan ndhelikake? Compiler bakal langsung nuding yen sampeyan mbukak kode:

//unreachable code statement compiler error
JavaCodeGym.java:10: error: unreachable statement
                System.out.println("Nice to see you");
‘
Amarga ana loop tanpa wates sadurunge "Becik ndeleng sampeyan" , pratelan kasebut ora bakal ditindakake lan bakal ngasilake kesalahan kode sing ora bisa digayuh.

Kesimpulan

Kanggo ngindhari kode sing ora bisa digayuh, sampeyan kudu mesthekake yen ana aliran menyang kabeh statement sistem sampeyan. Umume masalah kode sing ora bisa digayuh Jawa ana hubungane karo nangani tembung kunci lan ngatur puteran kanthi ora apik. Ing pungkasan dina, mriksa kaping pindho kode sampeyan minangka siji-sijine cara sing bener kanggo nyegah kesalahan kode sing ora bisa digayuh. Sampeyan uga kudu ora kentekan niat kanggo wong-wong mau - pakulinan nggawe kode Java cairan teka karo pengalaman lan praktik pirang-pirang taun. Dadi, ayo kenek IDE lan miwiti nggawe produk piranti lunak sing apik tenan.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION