Обработка исключений в JSP

⚡ Умное резюме

Обработка исключений в JSP управляет ошибками, возникающими во время выполнения кода, аналогично... Java Блоки try-catch. Исключения делятся на три типа: проверяемые, исключения времени выполнения и ошибки. На страницах JSP используются атрибуты errorPage и isErrorPage для перенаправления и отображения исключений.

  • ⚠️ Исключение определено: Ошибка во время выполнения JSP-страницы обрабатывается следующим образом: Java попытка поймать мяч.
  • 🇧🇷 Три типа: Проверены исключения, исключения времени выполнения и ошибки.
  • 🧾 Проверено: Исключения FileNotFoundException, IOException и SQLException должны быть обработаны.
  • 🧨 Время: ArrayIndexOutOfBounds, ArithmeticException и NullPointerException.
  • 🛟 errorPage / isErrorPage: Перенаправлять ошибки на страницу, которая выводит стек исключений. trace.

Обработка исключений в JSP

Что такое исключение в JSP?

Исключения в JSP возникают, когда в коде есть ошибка разработчика или внутренняя ошибка системы. Обработка исключений в JSP такая же, как и в Java где мы управляем исключениями с помощью блоков Try Catch. В отличие от Java, в JSP бывают исключения и тогда, когда в коде нет ошибок.

Типы исключений в JSP

Исключения в JSP бывают трех типов:

  1. Проверено исключение
  2. Исключение времени выполнения
  3. Исключение ошибки

Проверенные исключения

Обычно это ошибка пользователя или проблемы, которые не видны разработчику, называются проверенными исключениями. Вот некоторые примеры проверенных исключений:

  1. FileNotFoundException: это проверенное исключение (когда оно пытается найти файл, когда файл не найден на диске).
  2. Исключение ввода-вывода: Это также проверяемое исключение. Если во время чтения или записи файла возникает какое-либо исключение, возникает исключение ввода-вывода.
  3. SQLException: Это также проверяемое исключение, когда файл связан с SQL базы данных, и существует проблема с подключением базы данных SQL, тогда возникает SQLException

Исключения времени выполнения

Исключения времени выполнения — это те, которых программист мог бы избежать. Они игнорируются во время компиляции. Вот некоторые примеры исключений времени выполнения:

  1. ArrayIndexOutOfBoundsException: это исключение времени выполнения, когда размер массива превышает элементы.
  2. Арифметическое исключение: Это также исключение во время выполнения, когда есть какие-либо математические операции, которые не разрешены в обычных условиях, например, деление числа на 0 приведет к исключению.
  3. Исключение нулевого указателя: Это также исключение времени выполнения, которое возникает, когда переменная или объект имеет значение null, когда мы пытаемся получить к нему доступ. Это очень распространенное исключение.

Ошибки:

Проблема возникает из-за контроля пользователя или программиста. Если стек переполняется, то может возникнуть ошибка. Некоторые примеры ошибки приведены ниже:

  1. Ошибка: Эта ошибка является подклассом throwable и указывает на серьезные проблемы, которые приложение не может обнаружить.
  2. Ошибка создания экземпляра: Эта ошибка возникает, когда мы пытаемся создать экземпляр объекта, но это не удается.
  3. Внутренняя ошибка: Эта ошибка возникает, когда произошла ошибка JVM, т.е. Java Виртуальная машина.

Исключения ошибок

Это экземпляр класса throwable, и он используется на страницах ошибок. Некоторые методы класса throwable:

  • Открытая строка getMessage() – возвращает сообщение об исключении.
  • Public throwable getCause() – возвращает причину исключения
  • Public printStackTracе () – возвращает стекtrace исключения.

Как обрабатывать исключения в JSP

Вот пример обработки исключений в JSP:

Exception_example.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>

Расшифровка кода:

Exception_example.jsp

Code Линия 1: Здесь мы устанавливаем страницу ошибки в guru_error.jsp, которая будет использоваться при перенаправлении ошибки.

Code Линия 15: мы берем переменную num, устанавливаем для нее значение 10 и проверяем условие, если num равно 10, а затем выдаем исключение времени выполнения с сообщением как условие ошибки.

Guru_error.jsp

Code Линия 1: Здесь мы устанавливаем атрибут isErrorPage в значение true.

Code Линия 12: Исключение было сгенерировано в файле exception_example.jsp с использованием объекта throw, и это исключение будет отображено здесь, поскольку атрибут IsErrorPage помечен как true. Используя объект exception (это объект, который позволяет JSP-странице получать доступ к данным исключения), мы пытаемся вывести стек вызовов.trace ошибки, которая произошла в файле exception_example.jsp.

Когда вы выполните приведенный выше код, вы получите следующий результат:

Обработка исключений в JSP

Выход:

Было сгенерировано исключение, выброшенное из exception_example.jsp с использованием объекта throw исключения времени выполнения, и мы получаем приведенный выше код. Также вызывается guru_error.jsp, из которого Guru В этом файле произошла ошибка.

Часто задаваемые вопросы (FAQ)

Исключения в JSP включают в себя проверяемые исключения (например, FileNotFoundException, IOException, SQLException), исключения времени выполнения (например, ArrayIndexOutOfBounds, ArithmeticException, NullPointerException) и ошибки (например, переполнение стека и внутренние ошибки JVM).

Атрибут errorPage указывает страницу, на которую следует перенаправить исключение. Атрибут isErrorPage, установленный в значение true на этой целевой странице, позволяет получить доступ к неявному объекту исключения и отобразить ошибку.

Объект исключения, неявно создаваемый в объекте, является экземпляром класса Throwable и доступен только на страницах ошибок (isErrorPage=true). Он предоставляет такие методы, как getMessage(), getCause() и printStack.TracФункция e() используется для сообщения об ошибке.

Искусственный интеллект может читать стек tracт. е. определить неисправную линию, объяснить первопричину простым языком и предложить решение, помощьping Разработчики быстрее устраняют исключения JSP во время тестирования и проверки кода.

Да. Искусственный интеллект может рекомендовать, куда добавить блоки try-catch или страницу ошибки, сгенерировать многоразовую страницу ошибки и пометить необработанные проверяемые исключения, повышая надежность JSP-приложений.

Подведем итог этой публикации следующим образом: