Penanganan Pengecualian di JSP

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:

  1. Pengecualian yang Dicentang
  2. Pengecualian Waktu Proses
  3. 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:

  1. FileNotFoundException: Ini adalah pengecualian yang dicentang (di mana ia mencoba menemukan file ketika file tersebut tidak ditemukan di disk).
  2. Pengecualian IO: Ini juga memeriksa pengecualian jika ada pengecualian yang terjadi saat membaca atau menulis file maka pengecualian IO dimunculkan.
  3. 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:

  1. ArrayIndexOutOfBoundsException: Ini adalah pengecualian runtime ketika ukuran array melebihi elemen.
  2. 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.
  3. 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:

  1. error: Kesalahan ini adalah subkelas dari throwable yang menunjukkan masalah serius yang tidak dapat ditangkap oleh aplikasi.
  2. Kesalahan Instansiasi: Kesalahan ini terjadi saat kami mencoba membuat instance suatu objek, dan gagal melakukannya.
  3. 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.
  • ThrowablegetCause publik() – mengembalikan penyebab pengecualian
  • Cetak publikStackTrace()– mengembalikan stacktrace pengecualian.

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

Baris Kode 1: Di sini kita mengatur halaman kesalahan menjadi guru_error.jsp yang akan digunakan ketika kesalahan akan dialihkan.

Baris Kode 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

Baris Kode 1: Di sini kita mengatur isErrorPageattribute menjadi true.

Baris Kode 12: Pengecualian telah dimunculkan di pengecualian_example.jsp menggunakan objek lemparan dan pengecualian tersebut akan ditampilkan di sini karena atribut IsErrorPage ditandai sebagai benar. Menggunakan objek pengecualian (ini adalah objek yang memungkinkan data pengecualian diakses oleh JSP.) objek kami mencoba mencetak pelacakan tumpukan kesalahan yang terjadi di pengecualian_example.jsp.

Ketika Anda menjalankan kode di atas, Anda akan mendapatkan keluaran berikut:

Menangani Pengecualian di JSP

Keluaran:

Pengecualian telah dimunculkan yang dilemparkan dari exception_example.jsp menggunakan objek lemparan pengecualian waktu proses dan kita mendapatkan kode di atas. Guru_error.jsp juga dipanggil dari mana Pengecualian Guru telah terjadi dari berkas ini.

Kesimpulan

  • Pengecualian pada JSP terjadi ketika terjadi kesalahan pada kode baik oleh pengembang maupun kesalahan internal dari sistem.
  • Pengecualian di JSP ada 3 jenis: Pengecualian yang Diperiksa, Pengecualian Runtime, dan Pengecualian Error
  • Pengecualian yang dicentang biasanya merupakan kesalahan pengguna atau masalah yang tidak terlihat oleh pengembang disebut sebagai pengecualian yang dicentang.
  • Pengecualian runtime adalah pengecualian yang bisa dihindari oleh programmer. Mereka diabaikan pada saat kompilasi.
  • Pengecualian kesalahan adalah turunan dari kelas throwable, dan digunakan di halaman kesalahan.