Учебники

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

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

Исключения возникают, когда в коде присутствует ошибка разработчика или внутренняя ошибка системы.

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

В отличие от Java, в JSP также есть исключения, когда в коде есть ошибка.

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

  1. Проверено исключение
  2. RuntimeException
  3. ErrorsException

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

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

Вот некоторые примеры:

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

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

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

Вот некоторые примеры:

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

Ошибки:

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

Некоторые примеры ошибки перечислены ниже:

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

Ошибка исключения

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

Некоторые методы бросаемого класса:

  • Public String getMessage () — возвращает сообщение об исключении.
  • Public throwablegetCause () — возвращает причину исключения
  • Public printStackTrace () — возвращает трассировку стека исключения.

пример

Exception_example.jsp

  1. <%@ page errorPage="guru_error.jsp" %>
  2. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  3. pageEncoding="ISO-8859-1"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  8. <title>Exception Guru JSP1</title>
  9. </head>
  10. <body>
  11. <%
  12. int num = 10;
  13. if (num == 10)
  14. {
  15. throw new RuntimeException("Error condition!!!");
  16. }
  17. %>
  18. </body>
  19. </html>

Guru_error.jsp

  1. <%@ page isErrorPage="true" %>
  2. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  3. pageEncoding="ISO-8859-1"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  8. <title>Guru Exception Page</title>
  9. </head>
  10. <body>
  11. <p>Guru Exception has occurred</p>
  12. <% exception.printStackTrace(response.getWriter()); %>
  13. </body>
  14. </html>

Пояснение к коду:

Exception_example.jsp

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

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

Guru_error.jsp

Строка кода 1: Здесь мы устанавливаем isErrorPageattribute в true.

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

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

Обработка исключений JSP - проверенное исключение, исключение времени выполнения, исключение ошибок

Вывод:

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

Также вызывается guru_error.jsp, из которого произошло исключение гуру из этого файла.

Резюме:

Здесь мы узнали об исключениях из этого урока и взяли пример исключения во время выполнения в уроке.