Rumah >Java >javaTutorial >Pengendalian Pengecualian Di Jawa

Pengendalian Pengecualian Di Jawa

WBOY
WBOYasal
2024-07-24 10:52:41950semak imbas

Exception Handling In Java

Apabila anda menjalankan kod atau program Java, ia sama ada akan menyusun dan melaksanakan atau membuang ralat. Apabila kod melemparkan, ia adalah hasil daripada ralat atau pengecualian.

Ralat adalah lebih kritikal. Ia berlaku di luar skop kod tetapi dalam persekitaran di mana aplikasi berjalan. Program ini tidak dijangka menangkap dan mengendalikan ralat.

Beberapa contoh ralat ialah

  • OutOfMemoryError
  • VirtualMachineError
  • StackOverFlowError

Pengecualian berlaku dalam skop kod. Ia juga dikenali sebagai ralat pelaksanaan yang bermaksud bahawa ia berlaku semasa pelaksanaan kod. Pengaturcara dijangka menangkap dan mengendalikan pengecualian dalam program.

Siaran ini akan lebih memfokuskan pada pengecualian dan ralat masa jalan secara khusus. Anda akan mempelajari semua tentang pengecualian dan cara mengendalikan ralat pengecualian dalam program Java anda.

Jenis Ralat Pelaksanaan Di Jawa

Terdapat tiga jenis ralat pelaksanaan dalam Java. Berikut ialah pecahan setiap daripadanya

. Ralat Masa Kompilasi

Ralat jenis ini dikenali sebagai ralat kompilasi atau ralat yang diperiksa. Program Java membuang kod ini semasa peringkat penyusunan.

Dalam erti kata lain, ralat ini berlaku apabila kod Javac sedang disusun kepada bytecode. Ralat masa kompilasi biasanya disebabkan oleh ralat dalam sintaks kod.

Sebagai contoh, apabila pengaturcara gagal menambah koma bernoktah pada akhir pernyataan atau gagal untuk memulakan pembolehubah sebelum mencetak.

public class JavaExceptionCodes {
    public static void main (String []args){
        int y = 10      //no semicolon
        System.out.println(y);
    }

}

. Ralat Masa Larian

Ralat masa jalan juga dikenali sebagai ralat pengecualian atau ralat tidak ditanda. Ia berlaku semasa program sedang dilaksanakan. Kod akan dikompil tetapi akan menimbulkan ralat semasa masa jalan.

Ralat masa jalan boleh diklasifikasikan lagi ke dalam pengecualian terbina dalam atau pengecualian yang ditentukan pengguna. Contoh pengecualian terbina dalam termasuk:

  • ArrayIndexOutOfBoundsException
  • Pengecualian Aritmetik
  • FileNotFoundException
  • NullPointerException

Contohnya jika pengguna memasukkan int dan bukannya rentetan atau memasukkan nilai yang lebih besar daripada saiz tatasusunan.

public class JavaExceptionCodes {
    public static void main (String []args) {
        int nombas[] = {1, 2, 3, 4, 5};
        System.out.println(nombas[6]); 

    }
}
//ArrayIndexOutOfBoundsException

. Ralat Logik

Juga dikenali sebagai ralat semantik, ia berlaku jika terdapat ralat dalam output logik program. Sebagai contoh, 3 + 3 menunjukkan output 7, atau apabila anda log masuk ke akaun anda dan mendarat di profil lain.

Ralat masa kompilasi adalah yang paling mudah ditangkap kerana IDE anda akan sentiasa menunjukkan ralat ini kepada pengaturcara. Ralat logik pada kebanyakan masa adalah ralat yang paling sukar untuk dilihat kerana kod itu tidak akan membuang masa penyusunan atau ralat masa jalan.

Konsep Pengendalian Pengecualian

Pengendalian pengecualian digunakan untuk menangkap ralat dalam atur cara dan mengekalkan aliran biasa perlaksanaan atur cara. Biasanya, sebaik sahaja atur cara melemparkan ralat, kod akan berhenti melaksanakan.

Menangkap dan mengendalikan ralat terlebih dahulu akan membolehkan atur cara melangkau blok kod dengan ralat dan terus melaksanakan seluruh program.

Kaedah Pengendalian Pengecualian:

Cuba – Tangkap – Akhirnya – Baling – Baling ialah senarai kaedah untuk pengendalian pengecualian dalam Java. Mari pecahkan setiap satu daripada mereka secara terperinci dengan contoh:

. Cubalah

Cuba digunakan untuk melampirkan baris atau blok kod yang mungkin mengeluarkan pengecualian. Terdapat juga percubaan bersarang iaitu percubaan dengan blok percubaan dalaman. Mereka mempunyai tujuan yang sama.

Sintaks

try{

}

. Tangkap

Tangkapan ialah blok kod yang digunakan untuk menangkap ralat yang dilemparkan dalam blok percubaan.

Sintaks

try{

}
catch (Exception e){

}

berbilang blok tangkapan

public class JavaExceptionCodes {
    public static void main (String []args) {
        int x = 10;
        int y = 0;
        int z ;
        int nombas [] = {5, 6, 7, 8, 9};
        try {
            System.out.println(z = x / y);
            System.out.println(nombas[6]);
        }
        catch (ArithmeticException e){
            System.out.println("Can't divide by 0. Choose another number" + e);
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("Array Out Of Bound" + e);
        }
        System.out.println("End");
    }
}

. Akhirnya

Akhir sekali, ialah blok kod pilihan, yang biasanya diletakkan selepas blok kod cuba dan tangkap. Ia digunakan untuk melaksanakan kod penting. Blok akhirnya sentiasa dilaksanakan sama ada program melemparkan ralat atau tidak.

Sintaks

try{

}
catch (Exception e){

}
finally{

}

. Baling

Throw ialah kata kunci yang digunakan untuk membuang pengecualian ke dalam kaedah atau blok kod.

Sintaks

public class JavaExceptionCodes {
    public static void main (String []args) {

           try { throw new ArithmeticException("Try Run");
           }
           catch (ArithmeticException e){
               System.out.println("Catch Exception Error");
           }

    }
}

. Melempar

Tidak seperti kata kunci lontaran, kata kunci lontaran tidak digunakan untuk melontar pengecualian. Walau bagaimanapun, ia menyatakan bahawa mungkin terdapat pengecualian dalam kaedah tersebut. Lemparan digunakan dalam tandatangan kaedah dan bukan di dalam kaedah.

Amalan Terbaik Untuk Mengendalikan Pengecualian

  1. Blok percubaan boleh mempunyai beberapa pernyataan (baris kod). Adalah lebih baik untuk membuat beberapa blok tangkapan untuk menangkap ralat dalam setiap pernyataan.

  2. Sentiasa nyatakan jenis pengecualian jika anda bekerja dengan berbilang blok tangkapan.

  3. Jika terdapat berbilang penyataan dalam blok percubaan dan anda tidak mengetahui penyataan dengan ralat itu, buat pengecualian umum terakhir di penghujung pengecualian lain untuk menangkap ralat yang tidak diketahui.

  4. Sentiasa letakkan blok tangkapan pengecualian am di hujung blok tangkapan pengecualian tersuai yang lain.

Atas ialah kandungan terperinci Pengendalian Pengecualian Di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Carian BinariArtikel seterusnya:Carian Binari