Обробка винятків у JSP

Що таке виняток у JSP?

винятки у JSP виникають, коли в коді є помилка розробника або внутрішня помилка системи. Обробка винятків у JSP така ж, як і в Java де ми керуємо винятками за допомогою блоків Try Catch. На відміну від Java, у JSP також є винятки, коли в коді немає помилок.

Типи винятків у JSP

Винятки в JSP бувають трьох типів:

  1. Перевірений виняток
  2. Виняток часу виконання
  3. Виняток помилки

Перевірені винятки

Зазвичай це помилка користувача або проблеми, які не бачить розробник, називаються перевіреними винятками. Ось кілька прикладів перевірених винятків:

  1. FileNotFoundException: це перевірений виняток (де він намагається знайти файл, коли файл не знайдено на диску).
  2. IO Виняток: це також перевіряється виняток, якщо під час читання або запису файлу стався виняток, тоді виникає виняток IO.
  3. SQLException: це також перевірений виняток, коли файл підключено до SQL бази даних, і виникає проблема з підключенням бази даних SQL, тоді виникає SQLException

Винятки часу виконання

Винятки під час виконання — це ті, яких програміст міг уникнути. Вони ігноруються під час компіляції. Деякі приклади винятків серед виконання:

  1. ArrayIndexOutOfBoundsException: Це виняток під час виконання, коли розмір масиву перевищує елементи.
  2. ArithmeticException: це також виняток під час виконання, коли є будь-які математичні операції, які не дозволені за звичайних умов, наприклад, ділення числа на 0 призведе до виключення.
  3. Виняток NullPointer: це також виняток під час виконання, який виникає, коли змінна або об’єкт має значення null, коли ми намагаємося отримати до них доступ. Це дуже поширений виняток.

Помилки:

Проблема виникає через контроль користувача або програміста. Якщо стек переповнюється, може виникнути помилка. Деякі приклади помилок наведено нижче.

  1. помилка: ця помилка є підкласом throwable, який вказує на серйозні проблеми, які програма не може виявити.
  2. Помилка екземпляра: Ця помилка виникає, коли ми намагаємося створити екземпляр об’єкта, але це не вдається.
  3. Внутрішня помилка: Ця помилка виникає, коли виникає помилка з JVM, тобто Java Віртуальна машина.

Винятки помилок

Це екземпляр класу throwable, і він використовується на сторінках помилок. Нижче наведено кілька методів кидного класу:

  • Загальнодоступний рядок getMessage() – повертає повідомлення про виняткову ситуацію.
  • Публічний throwablegetCause() – повертає причину винятку
  • Загальнодоступний printStackTrace()– повертає стек винятку.

Як обробляти винятки в 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

Рядок коду 1: Тут ми встановлюємо сторінку помилки для guru_error.jsp, яка використовуватиметься під час перенаправлення помилки.

Рядок коду 15: ми беремо змінну num і встановлюємо їй значення 10 і перевіряємо умову, якщо num дорівнює 10, щоб створити виняткову ситуацію під час виконання з повідомленням як умову помилки.

Guru_error.jsp

Рядок коду 1: Тут ми встановлюємо атрибуту isErrorPage значення true.

Рядок коду 12: Виняток було викликано у exception_example.jsp за допомогою об’єкта throw, і цей виняток буде показано тут, оскільки атрибут IsErrorPage позначено як true. Використовуючи об’єкт винятку (це об’єкт, який дозволяє JSP отримати доступ до даних винятку.), ми намагаємося надрукувати трасування стека помилки, яка сталася у exception_example.jsp.

Коли ви виконуєте наведений вище код, ви отримуєте такий результат:

Обробка винятків у JSP

вихід:

Було викликано виняток, який було створено з exception_example.jsp за допомогою об’єкта throw виняткової ситуації під час виконання, і ми отримали наведений вище код. Також викликається guru_error.jsp, з якого стався виняток Guru з цього файлу.

Підсумки

  • Винятки в JSP виникають, коли в коді є помилка розробника або внутрішня помилка системи.
  • Винятки в JSP бувають 3 типів: перевірені винятки, винятки під час виконання та винятки помилок
  • Перевірений виняток зазвичай є помилкою користувача або проблеми, які не бачить розробник, називаються перевіреними винятками.
  • Винятки під час виконання — це ті, яких програміст міг уникнути. Вони ігноруються під час компіляції.
  • Виняток Error є екземпляром класу throwable, який використовується на сторінках помилок.