exception in doAfterBody

Let's say there is an exception occured in doAfterBody of IterationTag implementation and it doesnt try-catched, would the doEndTag still be called by the container? Thanks.

Hendy Setyo Mulyo
SCJP 1.4 (95%), SCWCD 1.4 (94%)

Dagbj�rn Nogva

Greenhorn

Posts: 10

posted 9 years ago

Hello Hendy,

I believe the short answer is no.

The following is copied from the javadoc of the TryCatchFinally interface, an auxiliary interface that a Tag, an IterationTag or a BodyTag can implement. doAfterBody should be called somewhere between doStartTag and doEndTag, so any exceptions here will cause doEndTag to be skipped.

This is also supported by the JSP 2.0 spec, page 2-52, The Tag Interface.

If an exception is encountered during the evaluation of the body of a tag, its doEndTag method will not be evaluated. See the TryCatchFinally tag for methods that are guaranteed to be evaluated.