Išbandykite „Catch: Exception Handling“ JSP

Turinys:

Anonim

Kas yra JSP išimtis?

Išimtys pasitaiko, kai programoje yra kodo klaida arba vidinė sistemos klaida.

Išimčių tvarkymas JSP yra toks pat kaip „Java“, kur mes valdome išimtis naudodami „try catch“ blokus.

Skirtingai nuo „Java“, JSP yra išimčių ir tada, kai kode yra klaida.

Išimtys yra trijų rūšių:

  1. Patikrinta išimtis
  2. RuntimeException
  3. ErrorsException

Patikrintos išimtys

Paprastai tai yra vartotojo klaida arba problemos, kurių kūrėjas nemato, vadinamos patikrintomis išimtimis.

Keletas pavyzdžių:

  1. FileNotFoundException: Tai yra pažymėta išimtis (kai bandoma rasti failą, kai failas nerandamas diske).
  2. IO išimtis: Tai taip pat yra pažymėta išimtis, jei skaitant ar rašant failą įvyko kokių nors išimčių, tada IO išimtis iškeliama.
  3. SQLException: Tai taip pat yra pažymėta išimtis, kai failas yra susietas su SQL duomenų baze, ir kyla problemų dėl SQL duomenų bazės ryšio, tada keliama SQLException

Vykdymo laiko išimtys

Vykdymo laiko išimtys yra tos, kurių programuotojas galėjo išvengti. Sudarant jie nepaisomi.

Keletas pavyzdžių:

  1. ArrayIndexOutOfBoundsException: Tai yra vykdymo laiko išimtis, kai masyvo dydis viršija elementus.
  2. ArithmeticException: Tai taip pat yra vykdymo laiko išimtis, kai yra matematinių operacijų, kurių įprastomis sąlygomis neleidžiama, pavyzdžiui, skaičių padalijus iš 0, bus išimtis.
  3. „NullPointer“ išimtis: Tai taip pat vykdymo laiko išimtis, kuri iškyla, kai kintamasis ar objektas yra nuliniai, kai bandome pasiekti tą patį. Tai labai dažna išimtis.

Klaidos:

Problema kyla dėl vartotojo ar programuotojo valdymo. Jei kaminas perpildytas, gali įvykti klaida.

Keletas klaidos pavyzdžių yra išvardyti toliau:

  1. Klaida: ši klaida yra išmetamas poklasis, nurodantis rimtas problemas, kurių programa negali sugauti.
  2. Momentinė klaida: ši klaida įvyksta, kai bandome sukurti objektą, ir to padaryti nepavyksta.
  3. Vidinė klaida: Ši klaida įvyksta, kai įvyko klaida iš JVM, ty „Java Virtual Machine“.

Klaidos išimtis

Tai metamos klasės egzempliorius ir naudojamas klaidų puslapiuose.

Kai kurie metimo klasės metodai yra šie:

  • „Public String getMessage ()“ - pateikia pranešimą apie išimtį.
  • Public thrablegetCause () - pateikia išimties priežastį
  • Public printStackTrace () - grąžina išimties šabloną.

Pavyzdys

Išimties_pavyzdys.jsp

<% @ page errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Išimčių „Guru JSP1“ <%int skaičius = 10;jei (skaičius == 10){mesti naują „RuntimeException“ („Klaidos būklė !!!“);}%>

„Guru_error.jsp“

<% @ page isErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> „Guru“ išimties puslapis 

Įvyko „Guru“ išimtis

<% Išimtis.printStackTrace (response.getWriter ()); %>

Kodo paaiškinimas:

Išimties_pavyzdys.jsp

1 kodo eilutė: Čia mes nustatome klaidos puslapį į guru_error.jsp, kuris bus naudojamas, kai klaida bus nukreipta.

15 kodo eilutė: mes imame kintamąjį numerį ir nustatome jį į 10 ir patikriname sąlygą, jei skaičius yra 10, tada mesti vykdymo laiko išimtį su pranešimu kaip klaidos būklę.

„Guru_error.jsp“

1 kodo eilutė: Čia mes nustatome isErrorPageattribute į true.

12 kodo eilutė: Išimtis buvo iškelta „kivétel_example.jsp“ naudojant objektą „mestis“ ir ta išimtis bus rodoma čia, kai „IsErrorPage“ atributas pažymėtas kaip teisingas. Naudodami išimtį (tai yra objektas, leidžiantis JSP pasiekti išimties duomenis). Objektą bandome atspausdinti „stack_trace“ klaidoje, kuri įvyko išskyrus_pavyzdys.jsp.

Vykdydami pirmiau nurodytą kodą gausite šį išvestį:

Išvestis:

Buvo iškelta išimtis, kuri buvo išmestas iš kivételas_pavyzdys.jsp naudojant metą vykdymo laiko išimties objektas, ir gausime aukščiau nurodytą kodą.

Taip pat iškviečiamas guru_error.jsp, iš kurio atsirado šio failo „Guru“ išimtis.

Santrauka:

Čia mes sužinojome apie šios pamokos išimtis ir pamokoje pateikėme vykdymo laiko išimčių pavyzdį.