Cuba Catch: Pengecualian Pengecualian di JSP

Isi kandungan:

Anonim

Apakah Pengecualian JSP?

Pengecualian berlaku apabila terdapat kesalahan dalam kod sama ada oleh pembangun atau ralat dalaman dari sistem.

Pengendalian pengecualian di JSP sama seperti di java di mana kami menguruskan pengecualian menggunakan blok tangkapan cubaan.

Tidak seperti Java, terdapat pengecualian dalam JSP juga apabila terdapat kesalahan dalam kod.

Pengecualian terdiri daripada tiga jenis:

  1. Dikecualikan Pengecualian
  2. RuntimeException
  3. KesalahanKecualian

Pengecualian yang diperiksa

Biasanya kesalahan pengguna atau masalah yang tidak dilihat oleh pembangun disebut sebagai pengecualian yang diperiksa.

Beberapa contohnya adalah:

  1. FileNotFoundException: Ini adalah pengecualian yang dicentang (di mana ia berusaha mencari fail apabila fail tidak dijumpai di disk)
  2. Pengecualian IO: Ini juga diperiksa pengecualian jika ada pengecualian berlaku semasa membaca atau menulis fail maka pengecualian IO dinaikkan.
  3. SQLException: Ini juga merupakan pengecualian yang diperiksa ketika file dihubungkan dengan pangkalan data SQL, dan ada masalah dengan kesambungan pangkalan data SQL maka SQLException dibangkitkan

Pengecualian Masa Jalan

Pengecualian waktu jalan adalah yang dapat dielakkan oleh pengaturcara. Mereka tidak diendahkan pada masa penyusunan.

Beberapa contohnya adalah:

  1. ArrayIndexOutOfBoundsException: Ini adalah pengecualian runtime apabila ukuran array melebihi elemen.
  2. ArithmeticException: Ini juga merupakan pengecualian runtime apabila terdapat operasi matematik, yang tidak dibenarkan dalam keadaan normal, misalnya, membahagi nombor dengan 0 akan memberikan pengecualian.
  3. Pengecualian NullPointer: Ini juga merupakan pengecualian runtime yang dibangkitkan ketika pemboleh ubah atau objek tidak ada ketika kita mencoba mengaksesnya. Ini adalah pengecualian yang sangat biasa.

Kesalahan:

Masalahnya timbul kerana kawalan pengguna atau pengaturcara. Sekiranya timbunan tumpah, kesalahan boleh berlaku.

Beberapa contoh ralat disenaraikan di bawah:

  1. Ralat: Kesalahan ini adalah subkelas yang dapat dilemparkan yang menunjukkan masalah serius yang tidak dapat ditangkap oleh aplikasi.
  2. Ralat instantiasi: Kesalahan ini berlaku ketika kita berusaha membuat objek, dan ia gagal melakukannya.
  3. Ralat Dalaman: Kesalahan ini berlaku apabila terdapat ralat yang berlaku dari JVM iaitu Java Virtual Machine.

Kesalahan Pengecualian

Ini adalah contoh kelas yang boleh dilemparkan, dan ia digunakan di halaman ralat.

Beberapa kaedah kelas boleh buang adalah:

  • Public String getMessage () - mengembalikan mesej pengecualian.
  • Public throwablegetCause () - mengembalikan sebab pengecualian
  • PrintStackTrace awam () - mengembalikan jejak pengecualian.

Contohnya

Pengecualian_contoh.jsp

<% @ halaman errorPage = "guru_error.jsp"%><% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Pengecualian Guru JSP1 <%int num = 10;jika (bilangan == 10){membuang RuntimeException baru ("Keadaan ralat !!!");}%>

Guru_error.jsp

<% @ halaman isErrorPage = "true"%><% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Halaman Pengecualian Guru 

Pengecualian Guru telah berlaku

<% pengecualian.printStackTrace (response.getWriter ()); %>

Penjelasan kod:

Pengecualian_contoh.jsp

Baris Kod 1: Di sini kita menetapkan halaman kesalahan ke guru_error.jsp yang akan digunakan ketika kesalahan akan diarahkan.

Baris Kod 15: kita mengambil angka berubah dan menetapkannya menjadi 10 dan memeriksa keadaan jika angka adalah 10 maka untuk membuang Pengecualian Waktu Jalan dengan mesej sebagai Keadaan Ralat.

Guru_error.jsp

Baris Kod 1: Di sini kita menetapkan atErrorPageattribute to true.

Baris Kod 12: Pengecualian telah dibangkitkan di pengecualian_contoh.jsp menggunakan objek lontaran dan pengecualian itu akan ditunjukkan di sini kerana atribut IsErrorPage ditandai sebagai benar. Dengan menggunakan pengecualian (ini adalah objek yang memungkinkan data pengecualian diakses oleh JSP.) Objek yang kami cuba mencetak stacktrace dari ralat yang berlaku dalam pengecualian_contoh.jsp.

Apabila anda melaksanakan kod di atas, anda akan mendapat output berikut:

Pengeluaran:

Pengecualian telah dibangkitkan yang dilemparkan dari pengecualian_example.jsp menggunakan objek lontaran pengecualian runtime dan kami mendapat kod di atas.

Juga guru_error.jsp dipanggil dari mana Pengecualian Guru berlaku dari fail ini.

Ringkasan:

Di sini kita telah mengetahui pengecualian dalam tutorial ini dan mengambil contoh pengecualian runtime dalam tutorial.