|
JSTL - How to catch an exception inside the page |
|
|
By default, errors in JSP pages result in dedicated error-pages appearance. The point is,
you probably don't want your important pages to produce such errors. Unless back-end Java programmers
supporting your application have promised to take care of errors, you should catch and handle them yourself
or use a JSP errorPage.
The <c:catch> tag lets you capture errors and either discard them entirely or record information about them
for later study. Errors that occur inside the body of a <c:catch> tag do not cause your whole page to abort.
Instead, they abort only the rest of the <c:catch> tag's body.
The sample code below shows how to catch an exception raised by <fmt:parseNumber> in the case of illegal input:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<p>You entered "<c:out value="${param.favorite}"/>". </p>
<c:catch var="parsingError">
<fmt:parseNumber var="fav" value="${param.favorite}"/>
<p>As far as I can tell, this corresponds to the
number <c:out value="${fav}"/>.
</p>
<p>
If you multiply this number by 2 and add 1, you get
<c:out value="${fav * 2 + 1}"/>. I like that number better.
</p>
</c:catch>
<c:if test="${not empty parsingError}">
Sorry, this doesn't look like a number to me.
Perhaps you're in the wrong country?
</c:if>
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.