Как происходит обработка ошибок с помощью JSTL
JSTL предоставляет теги <c:catch> и <c:if> для перехвата и обработки исключений непосредственно на JSP-странице, аналогично блоку try-catch в Java.
Пример
<c:catch var="exception">
<%-- код, который может выбросить исключение --%>
<% int x = 42 / 0; %>
</c:catch>
<c:if test="${exception ne null}">
<p>Произошла ошибка: ${exception.message}</p>
</c:if>
Тег <c:catch> оборачивает блок кода и перехватывает любое исключение, помещая его в переменную (атрибут var). Тег <c:if> проверяет, было ли выброшено исключение, и отображает сообщение об ошибке. Если исключения не было, переменная exception равна null.
Этот подход используется для точечной обработки ошибок внутри страницы, когда нежелательно перенаправлять на отдельную error page. Однако для системной обработки ошибок (404, 500) лучше использовать <error-page> в web.xml.
На собеседовании: покажите связку
c:catch+c:ifи отметьте, что в проверке используется EL (${exception ne null}). Это демонстрирует знание интеграции JSTL с EL.