java
Dalam tutorial ini, kita akan belajar menangani beberapa pengecualian di Java dengan bantuan contoh.
Sebelum Java 7, kami harus menulis beberapa kode penanganan pengecualian untuk berbagai jenis pengecualian meskipun ada redundansi kode.
Mari kita ambil contoh.
class Main {
public static void main(String[] args) {
try {
int array[] = new int[10];
array[10] = 30 / 0;
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
}
}
Keluaran
/ by zero
Dalam contoh ini, dua pengecualian mungkin terjadi:
ArithmeticException
karena kita mencoba membagi angka dengan 0.ArrayIndexOutOfBoundsException
karena kita telah mendeklarasikan array integer baru dengan batas array 0 hingga 9 dan kita mencoba untuk memberikan nilai ke indeks 10.
Kami mencetak pesan pengecualian di catch
blok yaitu kode duplikat.
Keterkaitan operator penugasan =
kanan ke kiri, jadi ArithmeticException
dilempar terlebih dahulu dengan pesan
/ oleh nol
.
Di Java SE 7 dan yang lebih baru, sekarang kita dapat menangkap lebih dari satu jenis pengecualian dalam satu catch
blokir.
Setiap jenis pengecualian yang dapat ditangani oleh catch
blok dipisahkan menggunakan batang vertikal atau pipa |
.
Sintaksnya adalah:
try {
// code
} catch (ExceptionType1 | Exceptiontype2 ex) {
// catch block
}
class Main {
public static void main(String[] args) {
try {
int array[] = new int[10];
array[10] = 30 / 0;
} catch (ArithmeticException | ArrayIndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
}
}
Keluaran
/ by zero
Menangkap beberapa pengecualian dalam satu catch
blok mengurangi duplikasi kode dan meningkatkan efisiensi.
Bytecode yang dihasilkan saat mengkompilasi program ini akan lebih kecil daripada program yang memiliki banyak catch
blok karena tidak ada redundansi kode.
Catatan: Jika catch
blok menangani beberapa pengecualian, parameter catch secara implisit final
. Ini berarti kami tidak dapat menetapkan nilai apa pun untuk menangkap parameter.
Saat menangkap beberapa pengecualian dalam satu catch
blok, aturan digeneralisasi ke khusus.
Ini berarti jika ada hierarki pengecualian di catch
blok, kita hanya dapat menangkap pengecualian dasar daripada menangkap beberapa pengecualian khusus.
Mari kita ambil contoh.
class Main {
public static void main(String[] args) {
try {
int array[] = new int[10];
array[10] = 30 / 0;
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Keluaran
/ by zero
Kita tahu bahwa semua kelas pengecualian adalah subkelas dari Exception
kelas. Jadi, alih-alih menangkap beberapa pengecualian khusus, kita cukup menangkap Exception
kelas.
Jika kelas pengecualian dasar telah ditentukan dalam catch
blok, jangan gunakan kelas pengecualian anak dalam catch
yang sama memblokir. Jika tidak, kita akan mendapatkan kesalahan kompilasi.
Mari kita ambil contoh.
class Main {
public static void main(String[] args) {
try {
int array[] = new int[10];
array[10] = 30 / 0;
} catch (Exception | ArithmeticException | ArrayIndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
}
}
Keluaran
Main.java:6: error: Alternatives in a multi-catch statement cannot be related by subclassing
Dalam contoh ini, ArithmeticException
dan ArrayIndexOutOfBoundsException
keduanya adalah subkelas dari Exception
kelas. Jadi, kami mendapatkan kesalahan kompilasi.
java
Antarmuka Antrian Java Dalam tutorial ini, kita akan belajar tentang antarmuka Java Queue dan metodenya. Queue antarmuka kerangka koleksi Java menyediakan fungsionalitas struktur data antrian. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Antrian Sejak Queue adalah antarmuka, kami t
Apa itu Pengecualian di Java? Pengecualian di Jawa adalah peristiwa yang mengganggu eksekusi instruksi program dan mengganggu aliran normal eksekusi program. Ini adalah objek yang membungkus informasi peristiwa kesalahan yang terjadi dalam suatu metode dan diteruskan ke sistem runtime. Di Java, pen
Saya melihat banyak orang menangani pengecualian dengan cara yang salah. Mungkin ini juga berlaku untuk Anda. Apakah situasi berikut terdengar familiar? Anda sedang menulis beberapa kode, tetapi Anda tahu bahwa perpustakaan yang Anda gunakan mungkin menimbulkan pengecualian. Anda tidak ingat yang m
Pengecualian (atau kejadian luar biasa) adalah masalah yang muncul selama eksekusi suatu program. Saat Pengecualian terjadi aliran normal program terganggu dan program/Aplikasi berakhir secara tidak normal, yang tidak disarankan, oleh karena itu, pengecualian ini harus ditangani. Pengecualian dapat