Pengecualian Java adalah objek yang menjelaskan situasi pengecualian (yaitu, kesalahan) yang terjadi di segmen kode. Ketika pengecualian terjadi, objek yang mewakili pengecualian dibuat dan dilemparkan dalam metode yang menyebabkan kesalahan. Metode ini dapat memilih untuk menangani pengecualian itu sendiri atau meneruskannya. Dalam kedua kasus, pengecualian ditangkap dan diproses. Pengecualian dapat dihasilkan oleh sistem runtime Java, atau oleh kode manual Anda. Pengecualian yang dilemparkan oleh Java terkait dengan kesalahan dasar yang melanggar spesifikasi bahasa atau melebihi batasan lingkungan eksekusi Java. Pengecualian yang dihasilkan oleh pengkodean manual pada dasarnya digunakan untuk melaporkan kondisi kesalahan dalam metode penelepon.
Penanganan pengecualian Java dikendalikan oleh 5 kata kunci: coba, tangkap, lempar, lempar dan akhirnya. Inilah cara kerjanya. Program menyatakan bahwa pemantauan pengecualian yang Anda inginkan termasuk dalam blok percobaan. Jika pengecualian terjadi di blok coba, itu dilemparkan. Kode Anda dapat menangkap pengecualian ini (dengan tangkapan) dan menanganinya dengan cara yang masuk akal. Pengecualian yang dihasilkan oleh sistem secara otomatis dilemparkan oleh sistem runtime Java. Lemparkan pengecualian secara manual, menggunakan lemparan kata kunci. Pengecualian apa pun untuk metode yang dilemparkan harus ditentukan oleh klausa lemparan. Kode apa pun yang benar -benar dieksekusi sebelum metode pengembalian ditempatkan di blok akhirnya.
Berikut adalah bentuk biasa dari blok penanganan pengecualian:
coba {// blok kode untuk memantau kesalahan} catch (exceptionType1 exob) {// handler pengecualian untuk pengecualian exceptionType1} catch (exceptionType2 exob) {// kecuali ion handler untuk pengecualiantype2} // ... akhirnya {// blok kode yang akan dieksekusi sebelum coba blok ujung}
Di sini, Exceptiontype adalah jenis di mana pengecualian terjadi.
Semua jenis pengecualian adalah subkelas dari kelas bawaan yang dapat dilemparkan. Oleh karena itu, Throwable berada di tingkat atas dari hierarki kelas pengecualian. Segera setelah Throwable adalah dua subclass yang membagi pengecualian menjadi dua cabang yang berbeda. Cabang adalah pengecualian.
Kelas ini digunakan untuk pengecualian yang mungkin ditangkap oleh program pengguna. Ini juga merupakan kelas yang dapat Anda gunakan untuk membuat subkelas tipe pengecualian pengguna Anda sendiri. Ada subkelas runtimeException yang penting di cabang pengecualian. Jenis pengecualian ini secara otomatis didefinisikan untuk program yang Anda tulis dan menyertakan kesalahan seperti membagi dengan nol dan pengindeksan array ilegal.
Jenis cabang lain adalah tingkat atas dengan kesalahan, yang mendefinisikan pengecualian yang tidak dimaksudkan untuk ditangkap oleh program di lingkungan normal. Pengecualian kesalahan tipe digunakan dalam sistem runtime java untuk menampilkan kesalahan yang terkait dengan sistem runtime itu sendiri. Stack Overflow adalah contoh dari kesalahan ini. Bab ini tidak akan membahas penanganan pengecualian untuk jenis kesalahan, karena mereka sering kali merupakan kesalahan besar dan fatal yang bukan sesuatu yang dapat dikendalikan oleh program Anda.