package railo.runtime.ext.tag; import javax.servlet.jsp.tagext.TryCatchFinally; import railo.loader.engine.CFMLEngineFactory; import railo.runtime.exp.PageServletException; import railo.runtime.util.Excepton; /** * extends Body Support Tag eith TryCatchFinally Functionality */ public abstract class BodyTagTryCatchFinallySupport extends BodyTagSupport implements TryCatchFinally { /** * @see javax.servlet.jsp.tagext.TryCatchFinally#doCatch(java.lang.Throwable) */ public void doCatch(Throwable t) throws Throwable { if(t instanceof PageServletException) { PageServletException pse=(PageServletException)t; t=pse.getPageException(); } if(bodyContent!=null) { Excepton util = CFMLEngineFactory.getInstance().getExceptionUtil(); if(util.isOfType(Excepton.TYPE_ABORT,t)) { bodyContent.writeOut(bodyContent.getEnclosingWriter()); } bodyContent.clearBuffer(); } throw t; } /** * @see javax.servlet.jsp.tagext.TryCatchFinally#doFinally() */ public void doFinally() { } }