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.

  • โš ๏ธ Pengecualian yang Didefinisikan: Kesalahan selama eksekusi JSP, ditangani seperti ini: Java coba tangkap.
  • ๏ธ Tiga Jenis: Pengecualian yang diperiksa, pengecualian saat runtime, dan pengecualian kesalahan.
  • ๐Ÿงพ Diperiksa: FileNotFoundException, IOException, dan SQLException harus ditangani.
  • ๐Ÿงจ Runtime: ArrayIndexOutOfBounds, ArithmeticException, dan NullPointerException.
  • ๐Ÿ›Ÿ errorPage / isErrorPage: Alihkan kesalahan ke halaman yang mencetak tumpukan pengecualian. trace.

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.
  • 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:

Menangani Pengecualian di JSP

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.

Pertanyaan Umum Demo Slot

Pengecualian JSP meliputi pengecualian yang diperiksa (seperti FileNotFoundException, IOException, SQLException), pengecualian saat runtime (seperti ArrayIndexOutOfBounds, ArithmeticException, NullPointerException), dan kesalahan (seperti stack overflow dan kesalahan internal JVM).

Atribut errorPage menentukan halaman tujuan pengalihan jika terjadi pengecualian. Atribut isErrorPage, yang diatur ke true pada halaman target tersebut, memungkinkan halaman tersebut mengakses objek implisit pengecualian dan menampilkan kesalahan.

Objek implisit pengecualian adalah sebuah instance dari Throwable yang hanya tersedia pada halaman kesalahan (isErrorPage=true). Objek ini mengekspos metode-metode seperti getMessage(), getCause(), dan printStack.TracGunakan e() untuk melaporkan kesalahan.

AI dapat membaca tumpukan trace, tentukan jalur yang bermasalah, jelaskan akar penyebabnya dengan bahasa yang mudah dipahami, dan sarankan solusinya, helping Pengembang dapat menyelesaikan pengecualian JSP lebih cepat selama pengujian dan peninjauan kode.

Ya. AI dapat merekomendasikan di mana harus menambahkan blok try-catch atau errorPage, menghasilkan halaman kesalahan yang dapat digunakan kembali, dan menandai pengecualian yang tidak ditangani, sehingga meningkatkan ketahanan aplikasi JSP.

Ringkaslah postingan ini dengan: