Rumah > Java > javaTutorial > Pengendalian pengecualian di Jawa

Pengendalian pengecualian di Jawa

PHPz
Lepaskan: 2023-06-15 23:16:53
asal
4219 orang telah melayarinya

Java ialah bahasa pengaturcaraan berorientasikan objek Oleh kerana kestabilan dan keselamatannya yang tinggi, ia telah menjadi bahasa pengaturcaraan yang digunakan secara meluas. Walau bagaimanapun, dalam proses pembangunan program, pengecualian sentiasa menjadi masalah yang tidak dapat dielakkan. Memandangkan bahasa Java sememangnya mampu mengendalikan pengecualian, ia boleh menggunakan mekanisme pengendalian pengecualian untuk mengelakkan ranap program dan memastikan operasi normal program.

1. Gambaran keseluruhan pengecualian dalam Java

Di Java, pengecualian merujuk kepada situasi tidak normal yang berlaku dalam atur cara, seperti tatasusunan di luar sempadan, pembahagi adalah sifar, fail tidak ditemui, dll. Walau bagaimanapun, pengecualian ini tidak secara langsung akan menyebabkan program ranap seperti bahasa C, tetapi akan membuang objek pengecualian. Objek ini boleh ditakrifkan oleh pengaturcara, atau ia boleh menjadi kelas pengecualian sedia ada dalam Java, seperti NullPointerException (pengecualian penuding nol), ArrayIndexOutOfBoundsException (pengecualian subskrip tatasusunan di luar sempadan), dsb.

Apabila pengecualian berlaku dalam program, mesin maya Java akan mencari pengendali pengecualian yang sesuai apabila pengecualian dilemparkan, temui dan panggil pengendali yang berkaitan untuk mengendalikan pengecualian, jika tidak dijumpai, program akan membuang Pengecualian, sistem akhirnya akan menamatkan pelaksanaan program. Di Java, pengecualian dikendalikan melalui blok pernyataan try-catch-finally.

2. Pengendalian pengecualian dalam Java

Mekanisme pengendalian pengecualian dalam Java boleh dibahagikan kepada dua situasi berikut:

  1. Pengecualian tidak dikendalikan

Apabila pengecualian dalam program tidak terkandung oleh blok pernyataan cuba-tangkap, atau pengecualian tidak ditangkap dalam blok pernyataan cuba, dan pengecualian dilemparkan secara langsung, atur cara akan ranap. Untuk mengelakkan situasi ini daripada berlaku, kita boleh menangkap pengecualian melalui kata kunci lontaran atau blok pernyataan cuba-tangkap.

  1. Pengecualian dikendalikan

Apabila pengecualian dalam program berjaya ditangkap, kita boleh memilih untuk mengendalikan pengecualian atau membuang objek pengecualian baharu. Jika anda mengendalikan pengecualian, anda boleh menggunakan blok pernyataan cuba-tangkap. Jika anda membuang objek pengecualian baharu untuk menggantikan pengecualian asal, anda boleh menggunakan pernyataan lontaran.

3. Kaedah penangkapan pengecualian dalam Java

Terdapat dua cara utama untuk menangkap pengecualian dalam Java, iaitu blok pernyataan cuba-tangkap dan kata kunci lempar. Kedua-dua kaedah boleh mengendalikan pengecualian dengan berkesan, seperti berikut:

  1. blok pernyataan cuba-tangkap

blok pernyataan cuba-tangkap digunakan untuk menangkap pengecualian dalam Java Salah satu kaedah ialah digunakan terutamanya untuk mengendalikan pengecualian berskala kecil. Penggunaan khusus adalah seperti berikut:

cuba{

// 可能会抛出异常的代码块
Salin selepas log masuk

} tangkap(Pengecualian e) {

// 捕获异常后的处理代码块
Salin selepas log masuk

} akhirnya{

// 这里的代码块无论如何都会执行
Salin selepas log masuk

}

Blok pernyataan cuba mengandungi kod yang mungkin membuang pengecualian, dan blok pernyataan tangkapan digunakan untuk menangkap dan mengendalikan pengecualian yang dilontar. Jika kod dalam blok cuba tidak membuang pengecualian, blok tangkapan tidak akan dilaksanakan. Blok pernyataan akhirnya digunakan untuk melaksanakan kod yang perlu dilaksanakan, seperti operasi penutupan sumber, dsb.

  1. membuang kata kunci

membuang kata kunci ialah kaedah pengendalian pengecualian dalam Java, terutamanya digunakan untuk mengendalikan pelbagai pengecualian. Apabila kaedah melontar pengecualian, anda boleh menggunakan kata kunci lontaran pada pengisytiharan kaedah untuk mengisytiharkan pengecualian Pada masa ini, pengkompil akan menyemak sama ada terdapat pernyataan untuk mengendalikan pengecualian dalam kaedah, dan jika tidak, a ralat akan dilaporkan.

Contohnya:

public void read(String fileName) membuang IOException {

BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
while ((line = reader.readLine()) != null) {
    System.out.println(line);
}
reader.close();
Salin selepas log masuk

}

Dalam kod di atas, kaedah read() mungkin Melemparkan IOException Pada masa ini, kita boleh menggunakan kata kunci lontaran pada pengisytiharan kaedah untuk mengisytiharkan bahawa kaedah itu mungkin membuang pengecualian.

4. Kelas pengecualian dalam Java

Terdapat dua kelas pengecualian asas dalam Java, iaitu RuntimeException dan CheckedException. RuntimeException merujuk kepada pengecualian yang mungkin dilemparkan apabila program sedang berjalan Pengecualian ini tidak dipaksa untuk dikendalikan pada masa penyusunan dan hanya akan dilemparkan apabila ia berlaku pada masa jalan, seperti NullPointerException, ArrayIndexOutOfBoundsException, dsb. CheckedException merujuk kepada pengecualian yang tidak akan dilemparkan semasa program dijalankan Pengaturcara mesti secara eksplisit mengendalikan pengecualian semasa menulis kod, seperti IOException, SQLException, dsb.

Selain dua kelas pengecualian asas ini, terdapat juga kelas pengecualian tersuai di Jawa. Penciptaan kelas pengecualian tersuai membantu menjadikan kod lebih mudah dibaca dan diselenggara. Kelas pengecualian tersuai biasanya mewarisi daripada kelas Exception atau RuntimeException dan mengatasi beberapa pembina untuk menyesuaikan jenis pengecualian.

5. Langkah berjaga-jaga untuk pengendalian pengecualian di Jawa

Apabila mengendalikan pengecualian di Jawa, terdapat juga beberapa perkara yang perlu diberi perhatian:

  1. Pengecualian harus diambil kira sebagai seawal mungkin atau Throw, ini boleh mengelakkan beberapa operasi yang memakan masa yang tidak perlu.
  2. Apabila menggunakan blok pernyataan cuba-tangkap untuk mengendalikan pengecualian, cuba elakkan sarang yang berlebihan dan struktur kod hendaklah ringkas dan jelas.
  3. Apabila mengendalikan pengecualian, anda harus mengendalikannya mengikut jenis pengecualian, bukannya hanya menggunakan blok pernyataan tangkapan untuk menangkap semua jenis pengecualian.
  4. Apabila melakukan pengendalian pengecualian, maklumat pengecualian hendaklah dikendalikan dengan betul Untuk memudahkan penyahpepijatan dan pengelogan, butiran maklumat pengecualian hendaklah dikeluarkan.

Ringkasnya, pengendalian pengecualian adalah bahagian yang sangat penting dalam pembangunan Java. Pengendalian pengecualian yang munasabah boleh mengelakkan ranap program dan memastikan operasi normal program ini juga boleh memudahkan penyahpepijatan dan memberikan jaminan untuk penyelenggaraan dan peningkatan kemudian.

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan