Що таке виняток JSP?
Винятки трапляються, коли в коді є помилка розробника або внутрішня помилка системи.
Обробка винятків у JSP така ж, як у Java, де ми керуємо винятками за допомогою блоків try catch.
На відміну від Java, у JSP є винятки і тоді, коли в коді є помилка.
Винятки становлять три типи:
- Позначений виняток
- RuntimeException
- ErrorsException
Перевірені винятки
Зазвичай помилка користувача або проблеми, які розробник не бачить, називаються перевіреними винятками.
Деякі з прикладів:
- FileNotFoundException: Це перевірене виняток (де він намагається знайти файл, коли файл не знайдено на диску).
- Виняток IO: Це також перевіряється виняток, якщо під час читання чи запису файлу стався виняток, тоді виняток IO піднімається.
- SQLException: Це також перевірений виняток, коли файл підключено до бази даних SQL, і є проблема зі зв'язком бази даних SQL, тоді піднімається SQLException
Винятки під час виконання
Винятки під час виконання - це той, якого програміст міг уникнути. Вони ігноруються під час складання.
Деякі з прикладів:
- ArrayIndexOutOfBoundsException: Це виняток часу виконання, коли розмір масиву перевищує кількість елементів.
- ArithmeticException: Це також виняток часу виконання, коли є якісь математичні операції, які заборонені в звичайних умовах, наприклад, ділення числа на 0 дасть виняток.
- Виняток NullPointer: Це також виняток виконання, який виникає, коли змінна або об'єкт є нульовим, коли ми намагаємось отримати доступ до них. Це дуже поширений виняток.
Помилки:
Проблема виникає через контроль користувача або програміста. Якщо стек переповнюється, може статися помилка.
Деякі приклади помилки наведені нижче:
- Помилка: Ця помилка є підкласом, який можна викидати, що вказує на серйозні проблеми, які програма не може виявити.
- Помилка інстанціації: Ця помилка виникає, коли ми намагаємося створити екземпляр об’єкта, але він цього не робить.
- Внутрішня помилка: Ця помилка виникає, коли сталася помилка JVM, тобто віртуальної машини Java.
Виняток помилок
Це примірник класу, який можна викинути, і він використовується на сторінках помилок.
Деякі методи викидного класу:
- 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"%>Гуру винятків JSP1 <%int num = 10;якщо (число == 10){викинути новий RuntimeException ("Умова помилки !!!");}%>
Guru_error.jsp
<% @ page isErrorPage = "true"%><% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Сторінка винятків гуру Стався виняток гуру
<% exception.printStackTrace (response.getWriter ()); %>
Пояснення коду:
Exception_example.jsp
Рядок коду 1: Тут ми встановлюємо сторінку помилки на guru_error.jsp, яка буде використана, коли помилка буде перенаправлена.
Рядок коду 15: ми беремо змінну num і встановлюємо її на 10 і перевіряємо умову, якщо num дорівнює 10, а потім видаємо виняток виконання з повідомленням як умова помилки.
Guru_error.jsp
Рядок коду 1: Тут ми встановлюємо isErrorPageattribute на true.
Рядок коду 12: Виняток було викликано у exception_example.jsp за допомогою об'єкта throw, і цей виняток буде показано тут як атрибут IsErrorPage позначений як істинний. Використовуючи виняток (це об’єкт, який дозволяє отримати доступ до даних винятків за допомогою JSP.), Ми намагаємось надрукувати стек-помилку помилки, яка сталася у винятку_example.jsp.
При виконанні наведеного вище коду ви отримуєте такий результат:
Вихід:
Було піднято виняток, який було викинуто з exception_example.jsp за допомогою об'єкта throw під час виконання винятку, і ми отримаємо наведений вище код.
Також викликається guru_error.jsp, з якого з цього файлу стався виняток Guru.
Короткий зміст:
Тут ми дізналися про винятки в цьому навчальному посібнику та взяли приклад винятків виконання підручника.