Mis on JSP erand?
Erandid ilmnevad siis, kui kas arendaja poolt on koodis tekkinud viga või süsteemisisene viga.
Erandite käsitlemine JSP-s on sama mis Java-s, kus me haldame erandeid proovimise püüdeplokkide abil.
Erinevalt Java-st on JSP-s erandeid ka siis, kui koodis on viga.
Erandeid on kolme tüüpi:
- Kontrollitud erand
- RuntimeException
- ErrorsException
Kontrollitud erandid
Tavaliselt on see kasutaja viga või probleeme, mida arendaja ei näe, nimetatakse kontrollitud eranditeks.
Mõned näited on:
- FileNotFoundException: see on kontrollitud erand (kus see üritab leida faili, kui faili kettalt ei leia).
- IO erand: see on ka kontrollitud erand, kui faili lugemise või kirjutamise ajal on mõni erand, siis tõstetakse IO erandit.
- SQLException: see on ka kontrollitud erand, kui fail on ühendatud SQL-i andmebaasiga ja SQL-i andmebaasi ühenduvusega on probleeme, siis tõstatatakse SQLException
Kestuserandid
Käitusaja erandid on need, mida programmeerija oleks võinud vältida. Koostamise ajal neid ignoreeritakse.
Mõned näited on:
- ArrayIndexOutOfBoundsException: See on käituse aegne erand, kui massiivi suurus ületab elemente.
- ArithmeticException: see on ka tööaja erand, kui on matemaatilisi toiminguid, mis pole tavapärastes tingimustes lubatud, näiteks numbri jagamine 0-ga annab erandi.
- NullPointeri erand: see on ka käituse erand, mis tõstatatakse, kui muutuja või objekt on null, kui proovime sellele juurde pääseda. See on väga levinud erand.
Vead:
Probleem tekib kasutaja või programmeerija juhtimise tõttu. Virna ülevoolu korral võib tekkida tõrge.
Mõned näited veast on loetletud allpool:
- Viga: see viga on viskamise alamklass, mis näitab tõsiseid probleeme, mida rakendus ei suuda tabada.
- Esialgne tõrge: see tõrge ilmneb siis, kui proovime objekti kiirendada ja see ei õnnestu seda teha.
- Sisemine viga: see tõrge ilmneb siis, kui JVM-st, st Java Virtual Machine'ist, ilmnes tõrge.
Vea erand
See on heidetava klassi eksemplar ja seda kasutatakse vealehtedel.
Mõned viskeklassi meetodid on:
- Public String getMessage () - tagastab erandi teate.
- Avalik thrablegetCause () - tagastab erandi põhjuse
- Avalik printStackTrace () - tagastab erandi virnajälje.
Näide
Erand_näide.jsp
<% @ page errorPage = "guru_error.jsp"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Erandiguru JSP1 <%int arv = 10;kui (arv == 10){viska uus RuntimeException ("Vea tingimus !!!");}%>