Prova Catch: Undantagshantering i JSP

Innehållsförteckning

Vad är JSP-undantag?

Undantag inträffar när det finns ett fel i koden antingen av utvecklaren eller internt fel från systemet.

Undantagshantering i JSP är samma som i java där vi hanterar undantag med försök fångstblock.

Till skillnad från Java finns det undantag i JSP också när det finns ett fel i koden.

Undantag är av tre typer:

  1. Kontrollerat undantag
  2. RuntimeException
  3. ErrorsException

Kontrollerade undantag

Det är normalt ett användarfel eller problem som utvecklaren inte ser betecknas som markerade undantag.

Några av exemplen är:

  1. FileNotFoundException: Detta är ett markerat undantag (där det försöker hitta en fil när filen inte finns på disken).
  2. IO-undantag: Detta är också markerat undantag om det finns något undantag inträffat under läsning eller skrivning av en fil så höjs IO-undantaget.
  3. SQLException: Detta är också ett markerat undantag när filen är ansluten till SQL-databas, och det finns problem med anslutningen av SQL-databasen, då höjs SQLException

Runtime Undantag

Runtimeundantag är det som programmeraren kunde ha undvikit. De ignoreras vid tidpunkten för sammanställningen.

Några av exemplen är:

  1. ArrayIndexOutOfBoundsException: Detta är ett runtime-undantag när arraystorleken överstiger elementen.
  2. ArithmeticException: Detta är också ett runtime-undantag när det finns matematiska operationer, som inte är tillåtna under normala förhållanden, till exempel, om du delar ett tal med 0 kommer ett undantag.
  3. NullPointer Undantag: Detta är också ett runtime-undantag som tas upp när en variabel eller ett objekt är null när vi försöker komma åt detsamma. Detta är ett mycket vanligt undantag.

Fel:

Problemet uppstår på grund av användarens eller programmerarens kontroll. Om stacken flyter över kan fel uppstå.

Några exempel på felet listas nedan:

  1. Fel: Detta fel är en underklass av kastbar som indikerar allvarliga problem som en applikation inte kan fånga.
  2. Instantieringsfel: Detta fel inträffar när vi försöker starta ett objekt, och det misslyckas med att göra det.
  3. Internt fel: Detta fel inträffar när det uppstår ett fel från JVM, dvs Java Virtual Machine.

Felundantag

Det är en förekomst av den kastbara klassen och används på felsidor.

Några metoder för kastbar klass är:

  • Public String getMessage () - returnerar undantagets meddelande.
  • Public throwablegetCause () - returnerar orsaken till undantaget
  • Public printStackTrace () - returnerar stackspåret för undantaget.

Exempel

Exception_example.jsp

<% @ sida errorPage = "guru_error.jsp"%><% @ sida språk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Undantagsguru JSP1 <%int num = 10;if (num == 10){kasta ny RuntimeException ("Felvillkor !!!");}%>

Guru_error.jsp

<% @ sida isErrorPage = "true"%><% @ sida språk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Undantagssida för Guru 

Guruundantag har inträffat

<% exception.printStackTrace (respons.getWriter ()); %>

Förklaring av koden:

Exception_example.jsp

Kodrad 1: Här ställer vi in ​​felsidan till guru_error.jsp som kommer att användas när felet kommer att omdirigeras.

Kodrad 15: vi tar en variabel num och ställer in den på 10 och kontrollerar ett tillstånd om num är 10 för att kasta ett Runtime Exception med meddelandet som Error Condition.

Guru_error.jsp

Kodrad 1: Här ställer vi in ​​isErrorPageattribute till true.

Kodrad 12: Undantaget har tagits upp i exception_example.jsp med hjälp av kastobjekt och detta undantag kommer att visas här som attributet IsErrorPage är markerat som sant. Med hjälp av undantaget (detta är ett objekt som gör det möjligt att komma åt undantagsdata av JSP.) Försöker vi skriva ut stackspåret för det fel som uppstod i exception_example.jsp.

När du kör koden ovan får du följande utdata:

Produktion:

Undantaget har höjts som kastades från exception_example.jsp med hjälp av kastobjekt för runtime-undantag och vi får ovanstående kod.

Också guru_error.jsp anropas från vilken Guru Exception har inträffat från den här filen.

Sammanfattning:

Här har vi lärt oss om undantag i den här självstudien och tagit ett exempel på runtimeundantag i självstudien.

Intressanta artiklar...