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