Build: 4/18, nightly This page: <%@ page contentType="text/html" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%! public class MyBean { public String getThrowException() { if (true) { throw new RuntimeException("Hey!"); } return ""; } } %> <% pageContext.setAttribute("myBean", new MyBean()); %> <c:set var="foo" value="${myBean.throwException}" /> <c:out value="${foo}" /> results in the exception thrown my the getThrowException() method to captured and saved in the variable "foo", instead of propagating the exception.
This was a bug in the EL evaluator; fixed by throwing instead of returning exception.