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:

  1. Sprawdzony wyjątek
  2. Wyjątek czasu wykonania
  3. 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:

  1. FileNotFoundException: Jest to sprawdzony wyjątek (w którym próbuje znaleźć plik, gdy nie można go znaleźć na dysku).
  2. 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.
  3. 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:

  1. Wyjątek ArrayIndexOutOfBounds: Jest to wyjątek środowiska wykonawczego, gdy rozmiar tablicy przekracza Elementy.
  2. 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.
  3. 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:

  1. 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ć.
  2. Błąd instancji: Ten błąd występuje, gdy próbujemy utworzyć instancję obiektu, ale to się nie udaje.
  3. 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:

Obsługa wyjątków w JSP

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.