Obsługa wyjątków w JSP

⚡ Inteligentne podsumowanie

Obsługa wyjątków w JSP pozwala zarządzać błędami występującymi podczas wykonywania kodu, podobnie jak Java Bloki try-catch. Wyjątki dzielą się na trzy typy: sprawdzane, czasu wykonania i błędy. Strony JSP używają atrybutów errorPage i isErrorPage do przekierowywania i wyświetlania wyjątków.

  • ⚠️ Definicja wyjątku: Błąd podczas wykonywania JSP, obsługiwany w następujący sposób: Java spróbuj-złap.
  • 🗂️. Trzy typy: Wyjątki sprawdzone, czasu wykonania i błędów.
  • 🧾 Sprawdzony: Należy obsłużyć wyjątki FileNotFoundException, IOException i SQLException.
  • 🧨 Czas pracy: ArrayIndexOutOfBounds, ArithmeticException i NullPointerException.
  • 🛟 Strona błędu / isErrorPage: Przekieruj błędy do strony drukującej stos wyjątków trace.

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ść rzucania getCause() – zwraca przyczynę wyjątku
  • Publiczny stos wydrukówTracmi() – zwraca stostrace 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

Code Linia 1: Tutaj ustawiamy stronę błędu na guru_error.jsp, która będzie używana, gdy błąd zostanie przekierowany.

Code Linia 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

Code Linia 1: Tutaj ustawiamy atrybut isErrorPage na true.

Code Linia 12: Wyjątek został zgłoszony w pliku exception_example.jsp za pomocą obiektu throw i zostanie on tutaj wyświetlony, ponieważ atrybut IsErrorPage jest oznaczony jako true. Używając obiektu exception (obiektu, który umożliwia dostęp do danych wyjątku przez stronę JSP), próbujemy wydrukować stos.trace błędu, który wystąpił w exception_example.jsp.

Po wykonaniu powyższego kodu otrzymasz następujący wynik:

Obsługa wyjątków w JSP

Wyjście:

Wystąpił wyjątek, który został zgłoszony w pliku exception_example.jsp za pomocą throw object of runtime exception, co spowodowało powyższy kod. Wywołano również plik guru_error.jsp, z którego Guru Wystąpił wyjątek w tym pliku.

FAQ

Wyjątki JSP to wyjątki sprawdzane (np. FileNotFoundException, IOException, SQLException), wyjątki czasu wykonania (np. ArrayIndexOutOfBounds, ArithmeticException, NullPointerException) i błędy (np. przepełnienie stosu i wewnętrzne błędy JVM).

Atrybut errorPage określa nazwę strony, do której należy przekierować wyjątek. Atrybut isErrorPage, ustawiony na wartość true na tej stronie docelowej, umożliwia dostęp do niejawnego obiektu wyjątku i wyświetlenie błędu.

Obiekt wyjątku implicit jest instancją Throwable dostępną tylko na stronach błędów (isErrorPage=true). Udostępnia metody takie jak getMessage(), getCause() i printStack.Trace(), aby zgłosić błąd.

Sztuczna inteligencja potrafi czytać stos tracnp. wskazać uszkodzoną linię, wyjaśnić przyczynę problemu prostym językiem i zaproponować rozwiązanie,ping programiści szybciej rozwiązują wyjątki JSP podczas testowania i przeglądu kodu.

Tak. Sztuczna inteligencja może rekomendować, gdzie dodać bloki try-catch lub stronę błędu, generować wielokrotnego użytku stronę błędu i oznaczać nieobsłużone sprawdzone wyjątki, zwiększając w ten sposób niezawodność aplikacji JSP.

Podsumuj ten post następująco: