obsługa wyjątków JSP
Podczas pisania aplikacji JSP, programiści mogą przegapić jakiś błąd, błąd może pojawić się w dowolnym miejscu w programie. Kod JSP jest na ogół następujące kategorie wyjątek:
- Sprawdzone wyjątki: sprawdzone wyjątki to typowy błąd użytkownika lub programista nieprzewidziane błędy. Na przykład, jeśli plik ma zostać otwarty, ale nie może znaleźć pliku, a następnie na wyjątek. Anomalie te nie mogą już kompilacji jest po prostu ignorowana.
- Runtime wyjątek: runtime można było uniknąć programiści wyjątku, ta anomalia będą ignorowane w czasie kompilacji.
- Błąd: Nie ma wyjątków, ale problemem jest to, że jest poza kontrolą użytkownika lub programisty. Błąd jest często pomijany w kodzie, ledwie można zabrać go jak. Tytułem przykładu, lub błędu przepełnienia stosu. Błędy te będą ignorowane w czasie kompilacji.
Ten rozdział zawiera kilka prosty i elegancki sposób obsługi wyjątków czasu wykonywania i błędy.
Stosowanie wyjątków Przedmioty
obiekt wyjątku jest instancją Throwable podklasy, dostępny tylko na stronie o błędzie. W poniższej tabeli przedstawiono niektóre z Throwable klasy w ważnych sposobów:
Nie. | Sposób i opis |
---|---|
1 | public String getMessage () Zwraca wyjątek. Informacja ta jest inicjowana w Throwable konstruktora |
2 | publicznego ThrowablegetCause () Zwraca przyczyny wyjątku obiekt typu Throwable |
3 | public String toString () Zwraca nazwę klasy |
4 | public void printStackTrace () Wyjście śladu stosu wyjątku do System.err |
5 | publicznego StackTraceElement [] getStackTrace () W postaci pierwiastka śladowego stos tablicy zwraca ślad stosu wyjątku |
6 | ThrowablefillInStackTrace publicznego () Bieżący ślad stosu wypełnienie obiektu Throwable |
JSP zapewnia możliwość określenia stron błędów dla każdej strony JSP. Ilekroć strona zgłasza wyjątek, kontener JSP automatycznie wezwać stronę błędu.
Poniższe przykłady main.jsp określa stronę błędu. Użyj <% @ page errorPage = "XXXXX"%> Dyrektywa określa stronę błędu.
<%@ 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>
Teraz napiszcie ShowError.jsp następujące dokumenty:
<%@ 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()); %>