Čo je to výnimka JSP?
Výnimky sa vyskytujú v prípade chyby v kóde vývojárom alebo internej chyby systému.
Spracovanie výnimiek v JSP je rovnaké ako v jave, kde spravujeme výnimky pomocou blokov try catch.
Na rozdiel od Javy existujú v JSP výnimky aj vtedy, keď dôjde k chybe v kóde.
Výnimky sú troch typov:
- Začiarknutá výnimka
- RuntimeException
- ErrorsException
Začiarknuté výnimky
Spravidla ide o chybu používateľa alebo problémy, ktoré vývojár nevidí, označujeme ako kontrolované výnimky.
Niektoré z príkladov sú:
- FileNotFoundException: Toto je začiarknutá výnimka (keď sa pokúsi nájsť súbor, keď sa nenájde na disku).
- Výnimka IO: Toto sa tiež kontroluje výnimka, ak sa počas čítania alebo zápisu súboru vyskytla nejaká výnimka, potom sa vyvolá výnimka IO.
- SQLException: Toto je tiež skontrolovaná výnimka, keď je súbor pripojený k databáze SQL, a je problém s pripojením databázy SQL, potom sa vyvolá výnimka SQLException.
Výnimky za behu
Výnimky za behu sú tie, ktorým sa programátor mohol vyhnúť. V čase kompilácie sú ignorované.
Niektoré z príkladov sú:
- ArrayIndexOutOfBoundsException: Toto je výnimka za behu, keď veľkosť poľa presahuje prvky.
- ArithmeticException: Toto je tiež výnimka za behu, keď existujú matematické operácie, ktoré nie sú za normálnych podmienok povolené, napríklad vydelením čísla číslom 0 sa udelí výnimka.
- Výnimka NullPointer: Toto je tiež výnimka za behu, ktorá sa vyvolá, keď je premenná alebo objekt nulový, keď sa k nemu pokúšame získať prístup. Toto je veľmi častá výnimka.
Chyby:
Problém nastáva v dôsledku kontroly používateľom alebo programátorom. Ak zásobník pretečie, môže dôjsť k chybe.
Niektoré príklady chyby sú uvedené nižšie:
- Chyba: Táto chyba je podtriedou hádzateľnej, ktorá naznačuje vážne problémy, ktoré aplikácia nedokáže zachytiť.
- Chyba inštancie: Táto chyba nastane, keď sa pokúsime vytvoriť inštanciu objektu, a nepodarí sa nám to.
- Interná chyba: Táto chyba nastane, keď dôjde k chybe z JVM, tj. Java Virtual Machine.
Výnimka chyby
Je to inštancia vyhadzovacej triedy a používa sa na chybových stránkach.
Niektoré metódy hodovej triedy sú:
- Public String getMessage () - vráti správu o výnimke.
- Public throwablegetCause () - vráti príčinu výnimky
- Public printStackTrace () - vráti stacktrace výnimky.
Príklad
Výnimka_example.jsp
<% @ page errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Výnimkový Guru JSP1 <%int num = 10;if (počet == 10){hodiť novú RuntimeException ("Chyba stavu !!!");}%>
Guru_error.jsp
<% @ page isErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Stránka výnimiek Guru Vyskytla sa výnimka Guru
<% exception.printStackTrace (response.getWriter ()); %>
Vysvetlenie kódu:
Výnimka_example.jsp
Riadok kódu 1: Tu nastavujeme chybovú stránku na guru_error.jsp, ktorá sa použije pri presmerovaní chyby.
Riadok kódu 15: berieme premennú num a nastavujeme ju na 10 a kontrolujeme podmienku, ak je num 10, aby sme vyhodili Runtime Exception so správou ako Error Condition.
Guru_error.jsp
Riadok kódu 1: Tu nastavujeme isErrorPageattribute na true.
Riadok kódu 12: Výnimka bola vyvolaná v exception_example.jsp pomocou objektu throw a táto výnimka sa tu zobrazí, pretože atribút IsErrorPage je označený ako true. Pomocou objektu výnimky (toto je objekt, ktorý umožňuje prístup k údajom o výnimkách pomocou JSP.) Objekt sa pokúšame vytlačiť stacktrace chyby, ku ktorej došlo v exception_example.jsp.
Po vykonaní vyššie uvedeného kódu získate nasledujúci výstup:
Výkon:
Bola vyvolaná výnimka, ktorá bola vyhodená z exception_example.jsp pomocou throw objektu runtime výnimky a dostaneme vyššie uvedený kód.
Zavolá sa tiež guru_error.jsp, z ktorého v tomto súbore došlo k výnimke Guru.
Zhrnutie:
Tu sme sa v tomto tutoriáli dozvedeli o výnimkách a v tutoriáli sme si vzali príklad runtime výnimiek.