Обробка винятків у JSP
⚡ Розумний підсумок
Обробка винятків у JSP керує помилками, що виникають під час виконання коду, подібно до Java Блоки try-catch. Винятки поділяються на три типи: перевірені, виконані та помилкові. JSP-сторінки використовують атрибути errorPage та isErrorPage для перенаправлення та відображення винятків.
Що таке виняток у JSP?
винятки у JSP виникають, коли в коді є помилка розробника або внутрішня помилка системи. Обробка винятків у JSP така ж, як і в Java де ми керуємо винятками за допомогою блоків Try Catch. На відміну від Java, у JSP також є винятки, коли в коді немає помилок.
Типи винятків у JSP
Винятки в JSP бувають трьох типів:
- Перевірений виняток
- Виняток часу виконання
- Виняток помилки
Перевірені винятки
Зазвичай це помилка користувача або проблеми, які не бачить розробник, називаються перевіреними винятками. Ось кілька прикладів перевірених винятків:
- FileNotFoundException: це перевірений виняток (де він намагається знайти файл, коли файл не знайдено на диску).
- IO Виняток: це також перевіряється виняток, якщо під час читання або запису файлу стався виняток, тоді виникає виняток IO.
- SQLException: це також перевірений виняток, коли файл підключено до SQL бази даних, і виникає проблема з підключенням бази даних SQL, тоді виникає SQLException
Винятки часу виконання
Винятки під час виконання — це ті, яких програміст міг уникнути. Вони ігноруються під час компіляції. Деякі приклади винятків серед виконання:
- ArrayIndexOutOfBoundsException: Це виняток під час виконання, коли розмір масиву перевищує елементи.
- ArithmeticException: це також виняток під час виконання, коли є будь-які математичні операції, які не дозволені за звичайних умов, наприклад, ділення числа на 0 призведе до виключення.
- Виняток NullPointer: це також виняток під час виконання, який виникає, коли змінна або об’єкт має значення null, коли ми намагаємося отримати до них доступ. Це дуже поширений виняток.
Помилки:
Проблема виникає через контроль користувача або програміста. Якщо стек переповнюється, може виникнути помилка. Деякі приклади помилок наведено нижче.
- помилка: ця помилка є підкласом throwable, який вказує на серйозні проблеми, які програма не може виявити.
- Помилка екземпляра: Ця помилка виникає, коли ми намагаємося створити екземпляр об’єкта, але це не вдається.
- Внутрішня помилка: Ця помилка виникає, коли виникає помилка з JVM, тобто Java Віртуальна машина.
Винятки помилок
Це екземпляр класу throwable, і він використовується на сторінках помилок. Нижче наведено кілька методів кидного класу:
- Загальнодоступний рядок getMessage() – повертає повідомлення про виняткову ситуацію.
- Публічний можливий викид getCause() – повертає причину винятку
- Публічний printStackTracе() – повертає стекtracе винятку.
Як обробляти винятки в 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 отримувати доступ до даних винятку), ми намагаємося вивести стек.tracпомилки, яка виникла у exception_example.jsp.
Коли ви виконуєте наведений вище код, ви отримуєте такий результат:
вихід:
Виняток було викликано з exception_example.jsp за допомогою об'єкта throw runtime exception, і ми отримуємо наведений вище код. Також викликається guru_error.js, з якого Guru У цьому файлі стався виняток.


