Rumah > Java > javaTutorial > teks badan

Teknik pengendalian pengecualian bahasa Java

王林
Lepaskan: 2023-06-09 21:03:06
asal
1601 orang telah melayarinya

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.

  1. Pengecualian yang disemak

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.

  1. Pengecualian yang tidak ditanda

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

  1. blok pernyataan cuba-tangkap

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 {

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

} tangkapan (Exception e) {

// 异常处理代码
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

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的代码
Salin selepas log masuk
Salin selepas log masuk

} tangkap (IOException e) {

// IOException异常处理代码
Salin selepas log masuk

} tangkapan (Pengecualian e) {

// 其他异常处理代码
Salin selepas log masuk

}

  1. blok pernyataan cuba-dengan-sumber

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")) {

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

} tangkapan (IOException e) {

// 异常处理代码
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}

  1. kenyataan lontaran

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");
Salin selepas log masuk

}

  1. membuang kata kunci

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的代码
Salin selepas log masuk
Salin selepas log masuk

}

  1. akhirnya blok pernyataan

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 {

// 可能出现异常的代码
Salin selepas log masuk

} tangkap (Pengecualian e) {

// 异常处理代码
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

} akhirnya {

// 释放资源等清理操作
Salin selepas log masuk

}

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!