Что такое исключение JSP?
Исключения возникают, когда в коде присутствует ошибка разработчика или внутренняя ошибка системы.
Обработка исключений в JSP такая же, как и в Java, где мы управляем исключениями, используя блоки try catch.
В отличие от Java, в JSP также есть исключения, когда в коде есть ошибка.
Исключения бывают трех типов:
- Проверено исключение
- RuntimeException
- ErrorsException
Проверенные исключения
Обычно это ошибка пользователя или проблемы, которые не видятся разработчиком, называются проверенными исключениями.
Вот некоторые примеры:
- FileNotFoundException: это проверенное исключение (когда он пытается найти файл, когда файл не найден на диске).
- IO Exception: Это также проверяемое исключение, если при чтении или записи файла возникает какое-либо исключение, то возникает исключение IO.
- SQLException: это также проверенное исключение, когда файл связан с базой данных SQL , и возникает проблема с подключением базы данных SQL, тогда возникает SQLException
Исключения во время выполнения
Исключения времени выполнения — это то, чего программист мог избежать. Они игнорируются во время компиляции.
Вот некоторые примеры:
- ArrayIndexOutOfBoundsException: это исключение времени выполнения, когда размер массива превышает элементы.
- ArithmeticException: это также исключение во время выполнения, когда есть какие-либо математические операции, которые не разрешены при нормальных условиях, например, деление числа на 0 даст исключение.
- Исключение NullPointer: Это также исключение времени выполнения, которое возникает, когда переменная или объект имеют значение null, когда мы пытаемся получить доступ к ним. Это очень распространенное исключение.
Ошибки:
Проблема возникает из-за контроля пользователя или программиста. Если стек переполняется, может произойти ошибка.
Некоторые примеры ошибки перечислены ниже:
- Ошибка: эта ошибка является подклассом throwable, который указывает на серьезные проблемы, которые приложение не может поймать.
- Ошибка создания экземпляра: эта ошибка возникает, когда мы пытаемся создать экземпляр объекта, но он этого не делает.
- Внутренняя ошибка: эта ошибка возникает при возникновении ошибки в JVM, т.е. в виртуальной машине Java.
Ошибка исключения
Это экземпляр класса throwable, и он используется на страницах ошибок.
Некоторые методы бросаемого класса:
- Public String getMessage () — возвращает сообщение об исключении.
- Public throwablegetCause () — возвращает причину исключения
- Public printStackTrace () — возвращает трассировку стека исключения.
пример
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
Строка кода 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.
Когда вы выполните приведенный выше код, вы получите следующий вывод:
Вывод:
Возникло исключение, которое было сгенерировано из exception_example.jsp с использованием объекта throw исключительной ситуации времени выполнения, и мы получаем приведенный выше код.
Также вызывается guru_error.jsp, из которого произошло исключение гуру из этого файла.
Резюме:
Здесь мы узнали об исключениях из этого урока и взяли пример исключения во время выполнения в уроке.