Isprobajte Catch: Rukovanje iznimkama u JSP-u

Sadržaj:

Anonim

Što je JSP iznimka?

Iznimke se javljaju kada u kodu postoji pogreška ili programera ili interna pogreška sustava.

Rukovanje iznimkama u JSP-u isto je kao i u javi gdje izuzecima upravljamo pomoću try catch blokova.

Za razliku od Jave, u JSP-u postoje iznimke i kada postoji pogreška u kodu.

Iznimke su tri vrste:

  1. Označena iznimka
  2. RuntimeException
  3. PogreškeIznimka

Označene iznimke

Obično se radi o korisničkoj pogrešci ili se problemi koje programer ne vidi nazivaju provjerenim iznimkama.

Neki od primjera su:

  1. FileNotFoundException: Ovo je provjerena iznimka (gdje pokušava pronaći datoteku kada datoteka nije pronađena na disku).
  2. IO iznimka: Ovo je također provjerena iznimka ako se dogodi neka iznimka tijekom čitanja ili pisanja datoteke, tada se pokreće IO iznimka.
  3. SQLException: Ovo je također provjerena iznimka kada je datoteka povezana s SQL bazom podataka, a postoji problem s povezanošću SQL baze podataka, a zatim se pokreće SQLException

Iznimke tijekom izvođenja

Iznimke u vrijeme izvođenja su one koje je programer mogao izbjeći. Oni se ignoriraju u vrijeme sastavljanja.

Neki od primjera su:

  1. ArrayIndexOutOfBoundsException: Ovo je runtime iznimka kada veličina polja premašuje elemente.
  2. ArithmeticException: Ovo je također izuzetak u vrijeme izvođenja kada postoje bilo kakve matematičke operacije koje nisu dopuštene u normalnim uvjetima, na primjer, dijeljenje broja s 0 dat će iznimku.
  3. NullPointer Iznimka: Ovo je također izuzetak u vrijeme izvođenja koji se pokreće kada je varijabla ili objekt null kada pokušavamo pristupiti istoj. Ovo je vrlo česta iznimka.

Pogreške:

Problem nastaje zbog kontrole korisnika ili programera. Ako se stog prelije, tada može doći do pogreške.

U nastavku su navedeni neki primjeri pogreške:

  1. Pogreška: Ova je pogreška podrazred mogućnosti bacanja koja ukazuje na ozbiljne probleme koje aplikacija ne može uhvatiti.
  2. Instantacijska pogreška: Ova se pogreška događa kada pokušavamo instancirati objekt, a on to ne uspije.
  3. Interna pogreška: Ova se pogreška javlja kada se dogodila pogreška iz JVM-a, tj. Java virtualnog stroja.

Iznimka pogreške

To je instanca klase koja se može baciti i koristi se na stranicama s pogreškama.

Neke metode klase za bacanje su:

  • Javni niz getMessage () - vraća poruku o iznimci.
  • Javna throwablegetCause () - vraća uzrok iznimke
  • Public printStackTrace () - vraća stacktrace iznimke.

Primjer

Iznimka_primjer.jsp

<% @ page errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Izuzetak Guru JSP1 <%int broj = 10;ako (broj == 10){baciti novi RuntimeException ("Uvjet greške !!!");}%>

Guru_error.jsp

<% @ stranica jeErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Stranica za izuzeće gurua 

Dogodila se guru iznimka

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

Objašnjenje koda:

Iznimka_primjer.jsp

Linija koda 1: Ovdje postavljamo stranicu pogreške na guru_error.jsp koja će se koristiti kada se pogreška preusmjeri.

Redak koda 15: uzimamo varijablu num i postavljamo je na 10 i provjeravamo uvjet ako je num 10, a zatim izbacujemo Runtime Exception s porukom kao Error Condition.

Guru_error.jsp

Linija koda 1: Ovdje postavljamo isErrorPageattribute na true.

Redak koda 12: Izuzetak je pokrenut u izuzetku_example.jsp pomoću objekta throw i taj će izuzetak ovdje biti prikazan kao atribut IsErrorPage označen kao istinit. Koristeći iznimku (ovo je objekt koji JSP-u omogućuje pristup podacima o iznimkama), pokušavamo ispisati stacktrace pogreške koja se dogodila u izuzetku_primjer.jsp.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

Izlaz:

Pokrenuta je iznimka koja je izbačena iz izuzetka_example.jsp pomoću bacanja objekta izvođenja izvršavanja i dobivamo gornji kod.

Također se poziva guru_error.jsp iz kojeg je došlo do Guru iznimke iz ove datoteke.

Sažetak:

Ovdje smo naučili o iznimkama u ovom tutorialu i uzeli smo primjer runtime iznimke u tutorialu.