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

Что такое исключение в JSP?
Исключения в JSP возникают, когда в коде есть ошибка разработчика или внутренняя ошибка системы. Обработка исключений в JSP такая же, как и в Java где мы управляем исключениями с помощью блоков Try Catch. В отличие от Java, в JSP бывают исключения и тогда, когда в коде нет ошибок.
Типы исключений в JSP
Исключения в JSP бывают трех типов:
- Проверено исключение
- Исключение времени выполнения
- Исключение ошибки
Проверенные исключения
Обычно это ошибка пользователя или проблемы, которые не видны разработчику, называются проверенными исключениями. Вот некоторые примеры проверенных исключений:
- FileNotFoundException: это проверенное исключение (когда оно пытается найти файл, когда файл не найден на диске).
- Исключение ввода-вывода: Это также проверяемое исключение. Если во время чтения или записи файла возникает какое-либо исключение, возникает исключение ввода-вывода.
- SQLException: Это также проверяемое исключение, когда файл связан с SQL базы данных, и существует проблема с подключением базы данных SQL, тогда возникает SQLException
Исключения времени выполнения
Исключения времени выполнения — это те, которых программист мог бы избежать. Они игнорируются во время компиляции. Вот некоторые примеры исключений времени выполнения:
- ArrayIndexOutOfBoundsException: это исключение времени выполнения, когда размер массива превышает элементы.
- Арифметическое исключение: Это также исключение во время выполнения, когда есть какие-либо математические операции, которые не разрешены в обычных условиях, например, деление числа на 0 приведет к исключению.
- Исключение нулевого указателя: Это также исключение времени выполнения, которое возникает, когда переменная или объект имеет значение null, когда мы пытаемся получить к нему доступ. Это очень распространенное исключение.
Ошибки:
Проблема возникает из-за контроля пользователя или программиста. Если стек переполняется, то может возникнуть ошибка. Некоторые примеры ошибки приведены ниже:
- Ошибка: Эта ошибка является подклассом throwable и указывает на серьезные проблемы, которые приложение не может обнаружить.
- Ошибка создания экземпляра: Эта ошибка возникает, когда мы пытаемся создать экземпляр объекта, но это не удается.
- Внутренняя ошибка: Эта ошибка возникает, когда произошла ошибка 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.
Когда вы выполните приведенный выше код, вы получите следующий результат:
Выход:
Было сгенерировано исключение, выброшенное из exception_example.jsp с использованием объекта throw исключения времени выполнения, и мы получаем приведенный выше код. Также вызывается guru_error.jsp, из которого Guru В этом файле произошла ошибка.

