Jawa

Penanganan pengecualian Java

Penanganan pengecualian Java
Ketika aliran normal dari eksekusi program menyela untuk kesalahan apa pun, maka itu disebut pengecualian. Jenis acara ini dapat ditangani dengan menggunakan coba-tangkap-akhirnya blok. Pengecualian adalah objek yang digunakan untuk menangkap kesalahan dan menjalankan pernyataan berdasarkan kondisi kesalahan yang disebut penanganan pengecualian. Terutama dua jenis kesalahan ditangani oleh penanganan pengecualian. Ini adalah waktu yang dikompilasi kesalahan dan waktu tayang kesalahan. Itu waktu tayang kesalahan ditangani oleh penanganan pengecualian. Bagaimana Anda dapat menangani pengecualian di Java dijelaskan dalam tutorial ini.

Sintaksis:

Sintaks dari coba-tangkap-akhirnya blok diberikan di bawah ini.

coba
pernyataan 1… N

catch (ExceptiontType var)
pernyataan 1… N

akhirnya
pernyataan 1… N

Di sini, jika pengecualian terjadi di dalam blok coba, maka pengecualian akan dilemparkan ke blok tangkap, dan blok akhirnya adalah opsional di sini. Kode blok akhirnya mengeksekusi apakah pengecualian terjadi atau tidak.

Contoh-1: Penanganan pengecualian dengan satu blok tangkapan

Contoh berikut menunjukkan penggunaan penanganan pengecualian menggunakan blok tangkapan tunggal. Nama file akan diambil sebagai input dan membuat objek BufferedReader untuk membuka file untuk dibaca. Jika nama file ada, maka isi file akan dibaca baris demi baris dan dicetak. Jika file tidak ada, maka pengecualian akan dibuat, dan pesan kesalahan akan dicetak.

impor jawa.io.Pembaca Buffer;
impor jawa.io.Pembaca File;
impor jawa.io.IOException;
impor jawa.kegunaan.Pemindai;
kelas publik kecuali1
public static void main(String[] args)
// Buat objek Pemindai
Pemindai di = Pemindai baru (Sistem.di);
Sistem.di luar.print("Masukkan Nama File : ");
// Ambil data string dari pengguna
String FileName = di.lanjut();
coba
//Buat objek pembaca
Pembaca BufferedReader = new BufferedReader(FileReader baru(FileName));
//Baca baris pertama jika file ada
Garis string = pembaca.readLine();
sementara (baris != nol)
//Mencetak garis
Sistem.di luar.println(baris);
//Baca baris berikutnya
baris = pembaca.readLine();

//Tutup objek pembaca
pembaca.Menutup();
//Tutup objek pemindai
di.Menutup();
tangkap (IOException e)
//Cetak pesan kesalahan
Sistem.di luar.println("File tidak ada");


Keluaran:

Pada keluaran berikut,  'Halo.txt' diberikan sebagai nama file yang tidak ada. Jadi pesan berikut dicetak.

Lain kali, file1.txt diberikan sebagai nama file yang ada, dan output menunjukkan konten file.

Contoh-2: Penanganan pengecualian dengan beberapa blok tangkapan

Bagaimana Anda dapat menggunakan beberapa blok tangkapan untuk menangani beberapa pengecualian ditunjukkan pada contoh berikut:. Di sini, tiga blok tangkapan dideklarasikan. Blok tangkapan pertama akan menangkap kesalahan aritmatika ketika operasi aritmatika tidak logis dilakukan. Tangkapan kedua akan menangkap kesalahan array di luar jangkauan ketika nilai indeks array akan dicoba untuk dibaca yang tidak ada. Blok tangkapan ketiga akan menangkap kesalahan nilai numerik ketika karakter atau nilai string apa pun diberikan sebagai nilai array. Dalam kode, array dengan empat indeks dideklarasikan dan diinisialisasi dengan nilai integer yang akan diambil dari pengguna. Nilai array dicetak menggunakan loop. Operasi pembagian dilakukan pada akhir blok try.

impor jawa.kegunaan.Pemindai;
kelas publik kecuali2
public static void main(String[] args)

mencoba

//Deklarasikan array numerik
int jumlah_arr[] = int baru[4];
//Buat objek Pemindai
Pemindai di = Pemindai baru (Sistem.di);
Sistem.di luar.println("Masukkan Empat Angka :");
// Iterasi loop empat kali
untuk (int i = 0; i < 4; i++)
//Masukkan nomor
int n = in.nextInt();
//Menetapkan nilai ke array
jumlah_arr[i] = n;

Sistem.di luar.println("Nilai array adalah :");
// Iterasi loop lima kali
untuk (int i = 0; i < 4; i++)
//Mencetak nilai array
Sistem.di luar.println(jumlah_arr[i]);

// Bagi dan cetak nilainya
int bilangan = 50/0;
Sistem.di luar.cetak(angka);
//Tutup objek pemindai
di.Menutup();

tangkap(ArithmeticException e)

Sistem.di luar.println("Tidak ada bilangan yang habis dibagi 0");

catch(ArrayIndexOutOfBoundsException e)

Sistem.di luar.println("Terjadi nilai indeks di luar array");

tangkap (Pengecualian e)

Sistem.di luar.println("Nilai bilangan tidak diberikan");


Keluaran:

Output berikut menunjukkan bahwa nilai array dimasukkan dan dicetak dengan benar, tetapi blok tangkapan ketiga dijalankan karena 50 dibagi dengan 0, yang merupakan kesalahan.

Program dijalankan untuk kedua kalinya. Ketika nilai string diberikan sebagai nilai array, maka pengecualian kedua dihasilkan, dan pernyataan blok tangkapan kedua dieksekusi.

Contoh-3: Penanganan pengecualian dengan blok try-catch-finally

Penggunaan blok akhirnya dengan blok try-catch ditunjukkan pada contoh berikut:. Kode blok akhirnya dijalankan jika pengecualian terjadi atau tidak. Dalam kode, nilai integer akan diambil dari pengguna. Jika pengguna memberikan nilai string apa pun, maka InputMismatchException

akan menghasilkan dan mencetak pesan dari blok tangkap. Objek pemindai akan ditutup di akhirnya blok jika pengecualian menghasilkan atau tidak.

impor jawa.kegunaan.Pemindai;
impor jawa.kegunaan.InputMismatchException;
kelas publik kecuali3
public static void main(String[] args)
//Buat objek Pemindai
Pemindai di = Pemindai baru (Sistem.di);
Sistem.di luar.print("Masukkan Angka : ");
coba
//Mengambil data string dari pengguna
int bilangan = in.nextInt();
//cetak nomornya
Sistem.di luar.println("Nilai Bilangan = " + bilangan);
catch(InputMismatchException e)
//Mencetak pesan kesalahan error
Sistem.di luar.println("Nilai string tidak diterima.");

akhirnya
//Tutup objek pemindai
di.Menutup();
Sistem.di luar.println("Dihentikan dari program");


Keluaran:

78 diberikan sebagai nilai input dalam output berikut setelah mengeksekusi kode. Jadi, tidak ada pengecualian yang dihasilkan di sini. Pesan dari blok akhirnya dicetak nanti.

Lanjut, Halo diberikan sebagai input setelah mengeksekusi kode yang berupa string. Jadi, pengecualian dihasilkan, dan pesan kesalahan dari blok tangkap dicetak. Pesan dari blok akhirnya dicetak nanti.

Kesimpulan:

Penanganan pengecualian adalah fitur yang sangat penting dan berguna dari bahasa pemrograman apa pun yang dapat digunakan untuk menyembunyikan pesan kesalahan yang sebenarnya dari pengguna dan memberikan pesan kesalahan yang dapat dibaca manusia agar pengguna dapat memahami kesalahan dengan benar. Tutorial ini membantu pengguna untuk mempelajari berbagai cara menerapkan penanganan pengecualian di Java dan membuat kode mereka lebih sesuai.

Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...
Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...