Obsługa wyjątków w JSP
Co to jest wyjątek w JSP?
wyjątki w JSP występują, gdy w kodzie występuje błąd programisty lub błąd wewnętrzny systemu. Obsługa wyjątków w JSP jest taka sama jak w Java gdzie zarządzamy wyjątkami za pomocą bloków Try Catch. Inaczej Java, w JSP istnieją wyjątki także wtedy, gdy w kodzie nie ma błędu.
Rodzaje wyjątków w JSP
Wyjątki w JSP są trzech typów:
- Sprawdzony wyjątek
- Wyjątek czasu wykonania
- Wyjątek błędu
Sprawdzone wyjątki
Zwykle jest to błąd użytkownika lub problemy, których nie widzi deweloper, określane jako sprawdzone wyjątki. Niektóre przykłady sprawdzonych wyjątków to:
- FileNotFoundException: Jest to sprawdzony wyjątek (w którym próbuje znaleźć plik, gdy nie można go znaleźć na dysku).
- Wyjątek we/wy: Jest to również sprawdzany wyjątek. Jeśli podczas odczytu lub zapisu pliku wystąpił jakiś wyjątek, zgłaszany jest wyjątek I/O.
- Wyjątek SQL:Jest to również sprawdzany wyjątek, gdy plik jest połączony z SQL bazy danych i występuje problem z łącznością z bazą danych SQL, zgłaszany jest wyjątek SQLException
Wyjątki środowiska wykonawczego
Wyjątki czasu wykonania to takie, których programista mógł uniknąć. Są one ignorowane w czasie kompilacji. Oto kilka przykładów wyjątków czasu wykonania:
- Wyjątek ArrayIndexOutOfBounds: Jest to wyjątek środowiska wykonawczego, gdy rozmiar tablicy przekracza Elementy.
- Wyjątek arytmetyczny:Jest to również wyjątek czasu wykonania, jeśli występują operacje matematyczne, które nie są dozwolone w normalnych warunkach, na przykład podzielenie liczby przez 0 spowoduje wyjątek.
- Wyjątek NullPointer: Jest to również wyjątek czasu wykonania, który jest zgłaszany, gdy zmienna lub obiekt ma wartość null, gdy próbujemy uzyskać do nich dostęp. Jest to bardzo częsty wyjątek.
Błędy:
Problem powstaje z powodu kontroli użytkownika lub programisty. Jeśli nastąpi przepełnienie stosu, może wystąpić błąd. Poniżej wymieniono kilka przykładów błędu:
- Błąd: Ten błąd jest podklasą zgłaszanego błędu, która wskazuje poważne problemy, których aplikacja nie jest w stanie wychwycić.
- Błąd instancji: Ten błąd występuje, gdy próbujemy utworzyć instancję obiektu, ale to się nie udaje.
- Błąd wewnętrzny: Ten błąd występuje, gdy wystąpi błąd z JVM, tj Java Maszyna wirtualna.
Wyjątki błędów
Jest to instancja klasy throwable i jest używana na stronach błędów. Niektóre metody klasy throwable to:
- Publiczny ciąg znaków getMessage() – zwraca komunikat o wyjątku.
- Publiczna możliwość rzucaniagetCause() – zwraca przyczynę wyjątku
- Publiczne printStackTrace()– zwraca ślad stosu wyjątku.
Jak obsługiwać wyjątki w JSP
Oto przykład obsługi wyjątków w JSP:
Wyjątek_przykład.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>
Wyjaśnienie kodu:
Wyjątek_przykład.jsp
Linia kodu 1: Tutaj ustawiamy stronę błędu na guru_error.jsp, która będzie używana, gdy błąd zostanie przekierowany.
Linia kodu 15: bierzemy zmienną num, ustawiamy ją na 10 i sprawdzamy warunek, jeśli num wynosi 10, a następnie zgłaszamy wyjątek czasu wykonania z komunikatem jako warunek błędu.
Guru_error.jsp
Linia kodu 1: Tutaj ustawiamy isErrorPageattribute na true.
Linia kodu 12: Wyjątek został zgłoszony w pliku wyjątek_przykład.jsp przy użyciu obiektu rzutowania i wyjątek ten zostanie tutaj pokazany, ponieważ atrybut IsErrorPage jest oznaczony jako prawdziwy. Korzystając z obiektu wyjątku (jest to obiekt umożliwiający dostęp do danych wyjątku przez stronę JSP.) próbujemy wydrukować ślad błędu, który wystąpił w pliku wyjątek_przykład.jsp.
Po wykonaniu powyższego kodu otrzymasz następujący wynik:
Wyjście:
Został wywołany wyjątek, który został wyrzucony z exception_example.jsp przy użyciu throw object of runtime exception i otrzymujemy powyższy kod. Wywołano również guru_error.jsp, z którego wystąpił wyjątek Guru z tego pliku.
Podsumowanie
- Wyjątki w JSP występują, gdy w kodzie występuje błąd popełniony przez programistę lub błąd wewnętrzny systemu.
- Wyjątki w JSP są trzech typów: sprawdzone wyjątki, wyjątki czasu wykonania i wyjątki błędów
- Sprawdzony wyjątek jest zwykle błędem użytkownika, a problemy niezauważone przez programistę nazywane są sprawdzonymi wyjątkami.
- Wyjątki w czasie wykonywania to te, których programista mógł uniknąć. Są one ignorowane podczas kompilacji.
- Wyjątek błędu jest instancją klasy, którą można zgłosić i jest używany na stronach błędów.