JSP Ausnahmebehandlung
Wenn JSP-Anwendung zu schreiben, Programmierer einige BUG verpassen kann, kann der BUG überall im Programm erscheinen. JSP-Code ist in der Regel die folgenden Kategorien Ausnahme:
- Auf Ausnahmen: geprüfte Ausnahmen ist eine typische Benutzerfehler oder ein Programmierer unvorhergesehener Fehler. Zum Beispiel, wenn eine Datei geöffnet wird, kann aber die Datei nicht gefunden, dann wird eine Ausnahme ausgelöst. Diese Anomalien können nicht mehr kompilieren wird einfach ignoriert.
- Runtime Ausnahme: eine Laufzeitausnahme Programmierer vermieden worden sein, diese Anomalie wird bei der Kompilierung ignoriert.
- Fehler: Es ist keine Ausnahme, aber das Problem ist, dass es außerhalb der Kontrolle des Benutzers oder der Programmierer ist. Fehler oft im Code übersehen wird, man kann es kaum nehmen, wie. Als Beispiel, oder Stapelüberlauffehler. Diese Fehler werden bei der Kompilierung ignoriert.
In diesem Abschnitt werden ein paar einfache und elegante Art und Weise geben Laufzeit Ausnahmen und Fehler zu behandeln.
Verwenden Sie Exception-Objekte
Ausnahmeobjekt ist eine Instanz von Throwable Unterklasse, nur in der Fehlerseite. Die folgende Tabelle enthält einige der Throwable Klasse in wichtigen Punkten:
Nein . | Method & Beschreibung |
---|---|
1 | public String getMessage () Gibt die Ausnahme. Diese Information wird in den Konstruktor initialisiert Throwable |
2 | public ThrowablegetCause () Gibt die Ursache der Ausnahme, das Objekt vom Typ Throwable |
3 | public String toString () Gibt den Namen der Klasse |
4 | public void print () Der Ausnahme-Stack-Trace-Ausgabe zu System.err |
5 | public StackTraceElement [] getStackTrace () In der Form eines Stapels Spurenelement des Arrays gibt eine Ausnahme-Stack-Trace |
6 | public ThrowablefillInStackTrace () Die aktuelle Stack-Trace füllen Throwable Objekt |
JSP bietet die Möglichkeit, Fehlerseiten für jede JSP-Seite angeben. Jedes Mal, wenn die Seite eine Ausnahme auslöst, wird JSP-Container automatisch die Fehlerseite aufrufen.
Die folgenden Beispiele main.jsp gibt eine Fehlerseite. Verwenden Sie <% @ page Errorpage = "XXXXX"%> Direktive gibt eine Fehlerseite.
<%@ page errorPage="ShowError.jsp" %> <html> <head> <title>Error Handling Example</title> </head> <body> <% // Throw an exception to invoke the error page int x = 1; if (x == 1) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Nun schreiben ShowError.jsp folgende Dokumente:
<%@ page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <p>Sorry, an error occurred.</p> <p>Here is the exception stack trace: </p> <pre> <% exception.printStackTrace(response.getWriter()); %>