Dalam tutorial ini, kita akan belajar tentang pengecualian di Java. Kami akan membahas kesalahan, pengecualian, dan berbagai jenis pengecualian di Jawa.
Pengecualian adalah kejadian tak terduga yang terjadi selama pelaksanaan program. Ini mempengaruhi aliran instruksi program yang dapat menyebabkan program berhenti secara tidak normal.
Pengecualian dapat terjadi karena berbagai alasan. Beberapa dari mereka adalah:
- Masukan pengguna tidak valid
- Kegagalan perangkat
- Kehilangan koneksi jaringan
- Batasan fisik (kehabisan memori disk)
- Kesalahan kode
- Membuka file yang tidak tersedia
Hierarki Pengecualian Java
Berikut adalah diagram yang disederhanakan dari hierarki pengecualian di Java.
Seperti yang Anda lihat dari gambar di atas, Throwable
class tersebut adalah class root dalam hierarki.
Perhatikan bahwa hierarki terbagi menjadi dua cabang: Error dan Exception.
Kesalahan
Kesalahan mewakili kondisi yang tidak dapat dipulihkan seperti mesin virtual Java (JVM) kehabisan memori, kebocoran memori, kesalahan stack overflow, ketidakcocokan perpustakaan, rekursi tak terbatas, dll.
Kesalahan biasanya di luar kendali programmer dan kita tidak boleh mencoba menangani kesalahan.
Pengecualian
Pengecualian dapat ditangkap dan ditangani oleh program.
Ketika pengecualian terjadi dalam suatu metode, itu membuat objek. Objek ini disebut objek pengecualian.
Ini berisi informasi tentang pengecualian seperti nama dan deskripsi pengecualian dan status program ketika pengecualian terjadi.
Kita akan mempelajari cara menangani pengecualian ini di tutorial berikutnya. Dalam tutorial ini, sekarang kita akan fokus pada berbagai jenis pengecualian di Java.
Jenis Pengecualian Java
Hierarki pengecualian juga memiliki dua cabang: RuntimeException
dan IOException
.
1. RuntimeException
Sebuah pengecualian runtime terjadi karena kesalahan pemrograman. Mereka juga dikenal sebagai pengecualian yang tidak dicentang .
Pengecualian ini tidak diperiksa pada waktu kompilasi tetapi waktu proses. Beberapa pengecualian waktu proses yang umum adalah:
- Penggunaan API yang tidak tepat -
IllegalArgumentException
- Akses penunjuk nol (tidak memiliki inisialisasi variabel) -
NullPointerException
- Akses larik di luar batas -
ArrayIndexOutOfBoundsException
- Membagi angka dengan 0 -
ArithmeticException
Anda bisa memikirkannya dengan cara ini. "Jika ini adalah pengecualian waktu proses, itu adalah kesalahan Anda".
Itu NullPointerException
tidak akan terjadi jika Anda telah memeriksa apakah variabel diinisialisasi atau tidak sebelum menggunakannya.
Sebuah ArrayIndexOutOfBoundsException
tidak akan terjadi jika Anda menguji indeks array terhadap batas-batas array.
2. IOException
Sebuah IOException
juga dikenal sebagai pengecualian yang diperiksa . Mereka diperiksa oleh kompiler pada saat kompilasi dan programmer diminta untuk menangani pengecualian ini.
Beberapa contoh pengecualian yang dicentang adalah:
- Mencoba membuka file yang tidak ada menghasilkan
FileNotFoundException
- Mencoba membaca setelah akhir file
Sekarang kita tahu tentang pengecualian, kita akan belajar tentang menangani pengecualian di tutorial berikutnya.