Java ialah bahasa pengaturcaraan peringkat tinggi, dan anda pasti akan menghadapi pelbagai situasi yang tidak normal semasa pengaturcaraan. Untuk memastikan kestabilan dan kebolehpercayaan program, Java menyediakan mekanisme pengendalian pengecualian. Artikel ini akan memperkenalkan pelbagai kaedah pengendalian pengecualian dalam bahasa Java.
1. Konsep dan klasifikasi pengecualian
Pengecualian merujuk kepada beberapa situasi tidak normal semasa pelaksanaan program, seperti penunjuk nol, tatasusunan di luar sempadan, fail tidak ditemui, dll. Situasi ini akan menyebabkan program tidak dapat dilaksanakan seperti biasa. Java membahagikan pengecualian kepada dua kategori: pengecualian yang ditanda dan pengecualian yang tidak ditanda.
Pengecualian yang disemak merujuk kepada pengecualian yang boleh ditemui oleh pengkompil Java semasa penyusunan Pengaturcara mesti mengendalikan pengecualian dalam kod secara eksplisit. Keabnormalan ini biasanya disebabkan oleh faktor luaran, seperti ketiadaan fail, gangguan rangkaian, dsb. Pengecualian yang diperiksa ditunjukkan dalam kod sebagai kata kunci lontaran dan biasanya perlu diproses menggunakan blok pernyataan cuba-tangkap.
Pengecualian yang tidak ditanda juga dipanggil pengecualian runtime, yang merujuk kepada pengecualian yang berlaku semasa menjalankan program dan ditulis oleh pengaturcara sendiri disebabkan oleh kod . Pengecualian biasa yang tidak ditanda termasuk pengecualian penuding nol, pengecualian luar sempadan tatasusunan, dsb. Pengecualian ini tidak perlu diisytiharkan secara eksplisit dalam kod Jika tidak dikendalikan, program akan ranap.
2. Teknik biasa untuk pengendalian pengecualian
blok pernyataan cuba-tangkap ialah salah satu teknik yang paling biasa untuk pengecualian mengendalikan satu. Blok pernyataan cuba mengandungi kod yang mungkin menyebabkan pengecualian, dan blok pernyataan tangkapan digunakan untuk mengendalikan pengecualian. Apabila kod dalam blok pernyataan cuba melemparkan pengecualian, program melompat ke blok pernyataan tangkapan untuk diproses.
cuba {
// 可能抛出异常的代码
} tangkapan (Exception e) {
// 异常处理代码
}
Di Java, pengecualian dibahagikan kepada berbilang kategori, jika tidak dinyatakan Untuk jenis pengecualian tertentu, blok pernyataan tangkapan akan mengendalikan semua jenis pengecualian. Jika anda ingin mengendalikan pengecualian tertentu secara khusus, anda boleh menentukan jenis pengecualian yang sepadan, seperti berikut:
cuba {
// 可能抛出IOException的代码
} tangkap (IOException e) {
// IOException异常处理代码
} tangkapan (Pengecualian e) {
// 其他异常处理代码
}
blok pernyataan cuba-dengan-sumber ialah Java The sintaks baharu dalam 7 digunakan untuk menggantikan blok pernyataan cuba-tangkap-akhirnya tradisional. try-with-resources secara automatik boleh menutup sumber yang melaksanakan antara muka AutoCloseable, mengelakkan masalah kebocoran sumber yang disebabkan oleh terlupa menutup sumber.
cuba (FileStream fs = new FileStream("data.txt")) {
// 可能抛出异常的代码
} tangkapan (IOException e) {
// 异常处理代码
}
kenyataan lontaran digunakan untuk membuang pengecualian secara manual dan maklumat berkaitannya boleh disesuaikan dalam kod. Anda boleh meletakkan pernyataan lontaran dalam pernyataan if untuk menentukan sama ada syarat pengecualian tersuai dipenuhi, dan jika ya, buang pengecualian.
jika (x < 0) {
throw new IllegalArgumentException("参数不能小于0");
}
membuang kata kunci digunakan untuk Jenis pengecualian dilemparkan kepada kaedah panggilan unggul, yang dikendalikan oleh kaedah unggul. Cuma tambahkan kata kunci lontaran pada pengisytiharan kaedah dan nyatakan jenis pengecualian yang akan dilemparkan.
public void readFile() membuang IOException {
// 可能抛出IOException的代码
}
akhirnya blok pernyataan cuba tangkap Blok pernyataan pilihan digunakan untuk memasukkan kod untuk membersihkan sumber dalam kod. Tidak kira sama ada kod dalam blok pernyataan cuba dilaksanakan secara normal, kod dalam blok pernyataan akhirnya akan dilaksanakan, yang biasanya digunakan untuk operasi seperti melepaskan sumber.
cuba {
// 可能出现异常的代码
} tangkap (Pengecualian e) {
// 异常处理代码
} akhirnya {
// 释放资源等清理操作
}
3 🎜>
Mekanisme pengendalian pengecualian Java ialah bahagian penting dalam reka bentuk program Ia boleh membantu pengaturcara mengendalikan pengecualian semasa program berjalan, dengan itu meningkatkan kebolehpercayaan dan kestabilan program. Artikel ini memperkenalkan klasifikasi pengecualian Java dan teknik pengendaliannya, termasuk blok pernyataan cuba-tangkap, pernyataan lempar, kata kunci lempar, akhirnya blok pernyataan, dsb. Dalam pembangunan sebenar, kaedah ini perlu digunakan secara fleksibel mengikut keperluan perniagaan tertentu untuk mengendalikan pengecualian tepat pada masanya dan memastikan operasi normal program.Atas ialah kandungan terperinci Teknik pengendalian pengecualian bahasa Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!