Penanganan Pengecualian di JSP
โก Ringkasan Cerdas
Penanganan Pengecualian di JSP mengelola kesalahan yang terjadi selama eksekusi kode, mirip dengan Java Blok try-catch. Pengecualian terbagi menjadi tiga jenis: diperiksa, runtime, dan error. Halaman JSP menggunakan atribut errorPage dan isErrorPage untuk mengarahkan dan menampilkan pengecualian.

Apa Pengecualian di JSP?
Pengecualian pada JSP terjadi bila ada kesalahan pada kode baik oleh pengembang maupun kesalahan internal dari sistem. Penanganan pengecualian di JSP sama seperti di Java tempat kami mengelola pengecualian menggunakan blok Coba Tangkap. Berbeda dengan Java, ada pengecualian di JSP juga ketika tidak ada kesalahan dalam kode.
Jenis Pengecualian di JSP
Pengecualian di JSP ada tiga jenis:
- Pengecualian yang Dicentang
- Pengecualian Waktu Proses
- Pengecualian Kesalahan
Pengecualian yang Dicentang
Biasanya kesalahan atau masalah pengguna yang tidak terlihat oleh pengembang disebut sebagai pengecualian yang diperiksa. Beberapa contoh pengecualian yang diperiksa adalah:
- FileNotFoundException: Ini adalah pengecualian yang dicentang (di mana ia mencoba menemukan file ketika file tersebut tidak ditemukan di disk).
- Pengecualian IO: Ini juga memeriksa pengecualian jika ada pengecualian yang terjadi saat membaca atau menulis file maka pengecualian IO dimunculkan.
- SQLException: Ini juga merupakan pengecualian yang diperiksa ketika file terhubung dengan SQL database, dan ada masalah dengan konektivitas database SQL maka SQLException dimunculkan
Pengecualian Waktu Proses
Pengecualian waktu proses adalah pengecualian yang dapat dihindari oleh programmer. Pengecualian tersebut diabaikan pada saat kompilasi. Beberapa contoh pengecualian waktu proses adalah:
- ArrayIndexOutOfBoundsException: Ini adalah pengecualian runtime ketika ukuran array melebihi elemen.
- Pengecualian Aritmatika: Ini juga merupakan pengecualian runtime ketika ada operasi matematika apa pun, yang tidak diizinkan dalam kondisi normal, misalnya membagi angka dengan 0 akan memberikan pengecualian.
- Pengecualian NullPointer: Ini juga merupakan pengecualian runtime yang dimunculkan ketika variabel atau objek bernilai null saat kita mencoba mengaksesnya. Ini adalah pengecualian yang sangat umum.
Kesalahan:
Masalah ini muncul karena kontrol pengguna atau programmer. Jika tumpukan meluap, maka kesalahan dapat terjadi. Beberapa contoh kesalahan tercantum di bawah ini:
- error: Kesalahan ini adalah subkelas dari throwable yang menunjukkan masalah serius yang tidak dapat ditangkap oleh aplikasi.
- Kesalahan Instansiasi: Kesalahan ini terjadi saat kami mencoba membuat instance suatu objek, dan gagal melakukannya.
- Kesalahan internal: Kesalahan ini terjadi ketika terjadi kesalahan dari JVM yaitu Java Mesin virtual.
Pengecualian Kesalahan
Ini adalah contoh dari kelas throwable, dan digunakan di halaman kesalahan. Beberapa metode kelas throwable adalah:
- GetMessage() String Publik() โ mengembalikan pesan pengecualian.
- Objek publik throwable getCause() โ mengembalikan penyebab pengecualian
- printStack publikTrace() โ mengembalikan tumpukantrace dari pengecualian tersebut.
Cara Menangani Pengecualian di JSP
Berikut ini contoh cara menangani pengecualian di JSP:
Pengecualian_example.jsp
<%@ page errorPage="guru_error.jsp" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Exception Guru JSP1</title> </head> <body> <% int num = 10; if (num == 10) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Guru_error.jsp
<%@ page isErrorPage="true" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Exception Page</title> </head> <body> <p>Guru Exception has occurred</p> <% exception.printStackTrace(response.getWriter()); %> </body> </html>
Penjelasan kodenya:
Pengecualian_example.jsp
Code Baris 1: Di sini kita mengatur halaman kesalahan menjadi guru_error.jsp yang akan digunakan ketika kesalahan akan dialihkan.
Code Baris 15: kita mengambil variabel num dan menyetelnya ke 10 dan memeriksa kondisi jika num adalah 10 lalu memunculkan Runtime Exception dengan pesan sebagai Kondisi Kesalahan.
Guru_error.jsp
Code Baris 1: Di sini kita mengatur atribut isErrorPage menjadi true.
Code Baris 12: Pengecualian telah dimunculkan di exception_example.jsp menggunakan objek throw dan pengecualian tersebut akan ditampilkan di sini karena atribut IsErrorPage ditandai sebagai true. Dengan menggunakan objek exception (ini adalah objek yang memungkinkan data pengecualian diakses oleh JSP), kita mencoba mencetak stack.trace dari kesalahan yang terjadi di exception_example.jsp.
Ketika Anda menjalankan kode di atas, Anda akan mendapatkan keluaran berikut:
Keluaran:
Pengecualian telah muncul yang dilemparkan dari exception_example.jsp menggunakan objek throw dari pengecualian runtime dan kita mendapatkan kode di atas. Selain itu, guru_error.jsp dipanggil dari mana Guru Terjadi pengecualian dari file ini.

