Selalu ada berbagai masalah dalam program ini. Untuk memungkinkan operasi normal selama pelaksanaan program, mekanisme penanganan pengecualian yang disediakan oleh Java digunakan untuk menangkap kemungkinan pengecualian, menangani pengecualian, dan memungkinkan program berjalan secara normal. Ini adalah penanganan pengecualian Java.
1. Pengecualian yang bisa ditangkap
Pengecualian yang dapat ditangkap di Java dibagi menjadi pengecualian yang dapat dikendalikan dan runtime.
1. Pengecualian yang dapat dikendalikan
Di Java, kesalahan yang dapat diprediksi tersebut dapat diproses selama kompilasi program dan informasi kesalahan spesifik dapat diberikan. Kesalahan ini disebut pengecualian yang dapat dikendalikan. Pengecualian yang dapat dikendalikan secara umum adalah sebagai berikut:
Deskripsi Pengecualian IOException Ketika beberapa pengecualian I/O terjadi, pengecualian ini dilemparkan. SQlexception memberikan informasi tentang kesalahan akses basis data atau kesalahan lainnya. ClassNotFoundException. Pengecualian tidak ditemukan. NosuchfieldException. Sinyal yang dihasilkan ketika kelas tidak berisi bidang dengan nama yang ditentukan. NosuchmethodeException. Pengecualian dilemparkan.
2. Pengecualian runtime
Kesalahan yang tidak dapat dideteksi oleh kompiler di java disebut pengecualian runtime. Pengecualian runtime umum adalah sebagai berikut:
Pengecualian Deskripsi IndeksOfBoundsException menunjukkan bahwa pengecualian dilemparkan ketika nilai indeks dari koleksi atau array berada di luar jangkauan nullpointerException melempar pengecualian ketika aplikasi mencoba menggunakan null di mana objek diperlukan aritmeticException melemparkan pengecualian bahwa kondisi pengecualian yang tidak ada yang tidak ada yang tidak ada yang tidak dapat ditimbulkan oleh pengecualian. ClasscastException melempar pengecualian saat mencoba melemparkan objek ke subkelas yang bukan sebuah instance
2. Tangani pengecualian
Ketika pengecualian terjadi di Java, Anda dapat menggunakan mencoba ... Tangkap, coba ... Tangkap ... akhirnya atau coba ... akhirnya untuk menanganinya.
1. Gunakan Coba .... Tangkap untuk menangani pengecualian
Setelah mencoba, ada pernyataan yang dieksekusi secara normal, dan setelah tangkapan, ada pernyataan yang menangani pengecualian. Kurung tangkapan adalah jenis pengecualian yang perlu ditangani oleh program. Format sintaks adalah sebagai berikut:
coba {pernyataan yang mengeksekusi secara normal} catch (pengecualian e) {pernyataan yang menangani pengecualian}Berikut adalah contoh pengecualian aritmatika, sebagai berikut.
Public Class ExceptionTest {public static void main (string [] args) {int result = 1 /0; coba {System.out.println (hasil); } catch (Exception e) {System.out.println ("Throw Exception:" + e.getMessage ()); }}}Di sini 1/0 adalah algoritma pengecualian karena pembagi tidak dapat 0. Hasil operasi adalah sebagai berikut:
Karena ada pengecualian, pernyataan demi percobaan tidak dieksekusi, jadi pernyataan demi tangkapan dieksekusi. Di antara mereka, "e.getMessage ()" adalah metode untuk mendapatkan informasi pengecualian, yang digunakan untuk mendapatkan string pesan terperinci; Selain itu, ada juga metode printStackTrace (), yang digunakan untuk mengeluarkan jejak tumpukannya ke aliran kesalahan standar; dan metode tostring () digunakan untuk mendapatkan deskripsi singkat.
2. Gunakan coba. menangkap. akhirnya menangani pengecualian
Di sini, pernyataan setelah mencoba dan menangkap sama dengan yang sebelumnya, dan pernyataan setelah akhirnya harus dieksekusi terlepas dari apakah terjadi pengecualian. Oleh karena itu, blok pernyataan akhirnya biasanya digunakan untuk melakukan pengumpulan sampah. Format sintaks adalah sebagai berikut:
coba {pernyataan yang mengeksekusi secara normal} catch (pengecualian e) {pernyataan yang menangani pengecualian} akhirnya {pernyataan yang pasti akan diproses}3. Gunakan Coba. Akhirnya menangani pengecualian
Ketika pengecualian terjadi dalam program, itu dapat diproses sesuai di blok pernyataan akhirnya. Selain itu, ketika tidak ada pengecualian dalam program, setelah melaksanakan pernyataan antara mencoba dan akhirnya, kode dalam blok pernyataan akhirnya akan dieksekusi. Format sintaks adalah sebagai berikut:
coba {pernyataan yang perlu dieksekusi} akhirnya {pernyataan yang pasti akan diproses}3. Lemparkan pengecualian
Untuk pengecualian yang terjadi dalam program ini, selain dari coba di atas ... Catch Pernyataan Pemrosesan, Anda juga dapat menggunakan pernyataan Declaration atau Throws untuk melempar pengecualian.
1. Gunakan deklarasi lemparan untuk melempar pengecualian
Lemparan digunakan untuk deklarasi metode, melempar pengecualian saat mendeklarasikan metode menggunakan deklarasi lemparan, dan kemudian menangani pengecualian dalam memanggil metode.
Jika Anda perlu mendeklarasikan beberapa pengecualian, setiap pengecualian harus dipisahkan oleh koma, dan format sintaks adalah sebagai berikut:
Nama metode tipe data (daftar parameter formal) melempar pengecualian kelas 1, pengecualian kelas 2, ..., kelas pengecualian n {metode metode;}Misalnya, lempar pengecualian pengecualian menggunakan lemparan.
public void showInfo () melempar Exception {// Throw Exception FileInputStream in = new fileInputStream ("c: //record.txt"); // Buat objek IO}2. Gunakan pernyataan lemparan untuk melempar pengecualian
Jika Anda ingin program melempar pengecualian sendiri, Anda dapat menggunakan pernyataan Throw untuk mencapainya. Format sintaks adalah sebagai berikut: Lempar pengecualian baru ("Pengecualian");
Apa yang dilemparkan menggunakan pernyataan Throw adalah contoh dari kelas pengecualian, biasanya digunakan dengan pernyataan IF. menyukai:
if (x <0) {lempar pengecualian baru ("Pengecualian program, x tidak boleh kurang dari 0.");}