001 package railo.runtime.ext.tag; 002 003 import javax.servlet.jsp.tagext.TryCatchFinally; 004 005 import railo.runtime.exp.AbortException; 006 import railo.runtime.exp.PageServletException; 007 008 009 /** 010 * extends Body Support Tag eith TryCatchFinally Functionality 011 */ 012 public abstract class BodyTagTryCatchFinallyImpl extends BodyTagImpl implements TryCatchFinally{ 013 014 /** 015 * @see javax.servlet.jsp.tagext.TryCatchFinally#doCatch(java.lang.Throwable) 016 */ 017 public void doCatch(Throwable t) throws Throwable { 018 if(t instanceof PageServletException) { 019 PageServletException pse=(PageServletException)t; 020 t=pse.getPageException(); 021 } 022 if(bodyContent!=null) { 023 if(t instanceof AbortException){ 024 bodyContent.writeOut(bodyContent.getEnclosingWriter()); 025 } 026 bodyContent.clearBuffer(); 027 } 028 throw t; 029 } 030 031 /** 032 * @see javax.servlet.jsp.tagext.TryCatchFinally#doFinally() 033 */ 034 public void doFinally() { 035 036 } 037 038 }