JSP-Ausnahmebehandlung: Fehlerseite in JSP

Was ist eine Ausnahme in JSP?

Ausnahmen in JSP treten auf, wenn im Code ein Fehler des Entwicklers oder ein interner Fehler des Systems vorliegt. Die Ausnahmebehandlung in JSP ist dieselbe wie in Java, wo wir Ausnahmen mithilfe von Try-Catch-Blöcken verwalten. Im Gegensatz zu Java gibt es in JSP Ausnahmen auch dann, wenn der Code keinen Fehler enthält.

Arten von Ausnahmen in JSP

Es gibt drei Arten von Ausnahmen in JSP:

  1. Geprüfte Ausnahme
  2. Laufzeitausnahme
  3. Fehlerausnahme

Überprüfte Ausnahmen

Normalerweise handelt es sich um einen Benutzerfehler oder Probleme, die vom Entwickler nicht erkannt werden, werden als geprüfte Ausnahmen bezeichnet.

Einige Beispiele für geprüfte Ausnahmen sind:

  1. FileNotFoundException: Dies ist eine geprüfte Ausnahme (bei der versucht wird, eine Datei zu finden, wenn die Datei nicht auf der Festplatte gefunden wird).
  2. IO-Ausnahme: Dies ist auch eine geprüfte Ausnahme. Wenn beim Lesen oder Schreiben einer Datei eine Ausnahme auftritt, wird die E/A-Ausnahme ausgelöst.
  3. SQLException: Dies ist auch eine geprüfte Ausnahme, wenn die Datei mit verbunden ist SQL Datenbank und es gibt ein Problem mit der Konnektivität der SQL-Datenbank, dann wird eine SQLException ausgelöst

Laufzeitausnahmen

Laufzeitausnahmen sind diejenigen, die der Programmierer hätte vermeiden können. Sie werden zum Zeitpunkt der Kompilierung ignoriert.

Einige Beispiele für Laufzeitausnahmen sind:

  1. ArrayIndexOutOfBoundsException: Dies ist eine Laufzeitausnahme, wenn die Array-Größe die überschreitet Elemente.
  2. Arithmetische Ausnahme: Dies ist auch eine Laufzeitausnahme, wenn es mathematische Operationen gibt, die unter normalen Bedingungen nicht zulässig sind, z. B. führt das Teilen einer Zahl durch 0 zu einer Ausnahme.
  3. NullPointer-Ausnahme: Dies ist auch eine Laufzeitausnahme, die ausgelöst wird, wenn eine Variable oder ein Objekt null ist, wenn wir versuchen, darauf zuzugreifen. Dies ist eine sehr häufige Ausnahme.

Fehler:

Das Problem entsteht durch die Kontrolle des Benutzers oder Programmierers. Wenn der Stapel überläuft, kann ein Fehler auftreten.

Nachfolgend sind einige Beispiele für den Fehler aufgeführt:

  1. Fehler: Dieser Fehler ist eine Unterklasse von throwable und weist auf schwerwiegende Probleme hin, die eine Anwendung nicht erkennen kann.
  2. Instanziierungsfehler: Dieser Fehler tritt auf, wenn wir versuchen, ein Objekt zu instanziieren, dies jedoch fehlschlägt.
  3. Interner Fehler: Dieser Fehler tritt auf, wenn ein Fehler von JVM aufgetreten ist, d. h Java virtuelle Maschine.

Fehlerausnahmen

Es ist eine Instanz der Throwable-Klasse und wird in Fehlerseiten verwendet.

Einige Methoden der Throwable-Klasse sind:

  • Öffentlicher String getMessage() – gibt die Meldung der Ausnahme zurück.
  • Öffentliche throwablegetCause() – Gibt die Ursache der Ausnahme zurück
  • Öffentlicher printStackTrace()– gibt den Stacktrace der Ausnahme zurück.

So behandeln Sie Ausnahmen in JSP

Hier ist ein Beispiel für die Behandlung von Ausnahmen in JSP:

Exception_example.jsp

<%@ page errorPage="guru_error.jsp" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Exception Guru JSP1</title>
</head>
<body>
<% 
 int num = 10;
   if (num == 10)
   {
      throw new RuntimeException("Error condition!!!");
   }
 %>
   </body>
</html>

Guru_error.jsp

<%@ page isErrorPage="true" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Exception Page</title>
</head>
<body>
<p>Guru Exception has occurred</p>
<% exception.printStackTrace(response.getWriter()); %>
</body>
</html>

Erklärung des Codes:

Exception_example.jsp

Codezeile 1: Hier setzen wir die Fehlerseite auf guru_error.jsp, die verwendet wird, wenn der Fehler umgeleitet wird.

Codezeile 15: Wir nehmen eine Variable num und setzen sie auf 10 und prüfen eine Bedingung, wenn num 10 ist, um dann eine Laufzeitausnahme mit der Meldung als Fehlerbedingung auszulösen.

Guru_error.jsp

Codezeile 1: Hier setzen wir isErrorPageattribute auf true.

Codezeile 12: Die Ausnahme wurde in „Exception_example.jsp“ mit dem Throw-Objekt ausgelöst und diese Ausnahme wird hier angezeigt, da das Attribut „IsErrorPage“ als „true“ markiert ist. Mithilfe des Ausnahmeobjekts (dies ist ein Objekt, das den Zugriff auf die Ausnahmedaten durch die JSP ermöglicht) versuchen wir, den Stacktrace des Fehlers auszudrucken, der in „Exception_example.jsp“ aufgetreten ist.

Wenn Sie den obigen Code ausführen, erhalten Sie Folgendeswing Ausgabe:

Ausnahme in JSP behandeln

Ausgang:

Es wurde eine Ausnahme ausgelöst, die von „Exception_example.jsp“ mithilfe des „Throw“-Objekts einer Laufzeitausnahme ausgelöst wurde, und wir erhalten den obigen Code.

Außerdem wird guru_error.jsp aufgerufen, von dem aus eine Guru-Ausnahme in dieser Datei aufgetreten ist.

Zusammenfassung

  • Ausnahmen in JSP treten auf, wenn im Code ein Fehler des Entwicklers oder ein interner Fehler des Systems vorliegt.
  • Es gibt drei Arten von Ausnahmen in JSP: Geprüfte Ausnahmen, Laufzeitausnahmen und Fehlerausnahmen
  • Eine geprüfte Ausnahme ist normalerweise ein Benutzerfehler oder Probleme, die der Entwickler nicht erkennt, werden als geprüfte Ausnahmen bezeichnet.
  • Laufzeitausnahmen sind diejenigen, die der Programmierer hätte vermeiden können. Sie werden zum Zeitpunkt der Kompilierung ignoriert.
  • Die Fehlerausnahme ist eine Instanz der auslösbaren Klasse und wird in Fehlerseiten verwendet.