User Guide
182 CFML Language Reference
CFRETHROW
Rethrows the currently active exception. <CFRETHROW> preserves the exception’s
CFCATCH.TYPE and CFCATCH.TAGCONTEXT information.
See also CFTRY/CFCATCH.
Syntax <CFRETHROW>
Usage Use the <CFRETHROW> tag within a <CFCATCH> block. This tag is useful in error
handling code when the error handler is not able to successfully handle the thrown
error.
Example <!--- This example shows the use of CFRETHROW --->
<HTML>
<HEAD>
<TITLE>CFRETHROW Example</TITLE>
</HEAD>
<BASEFONT FACE="Arial, Helvetica" SIZE=2>
<BODY bgcolor="#FFFFD5">
<H3>CFRETHROW Example</H3>
<!--- Rethrow a DATABASE exception. --->
<CFTRY>
<CFTRY>
<CFQUERY NAME="myQuery1" DATASOURCE="Xtreme sample data"
DBTYPE="ODBC">
select moo from blab
</CFQUERY>
<CFCATCH TYPE="DATABASE">
<!-----------------------------------------------------------
If the database signalled a 50555 error, we can ignore it,
otherwise rethrow the exception.
------------------------------------------------------------->
<CFIF CFCATCH.sqlstate neq 50555>
<CFRETHROW>
</CFIF>
</CFCATCH>
</CFTRY>
<CFCATCH>
<h3>Sorry, this request can’t be completed</h3>
<h4>Catch variables</h4>
<CFOUTPUT>
<CFLOOP COLLECTION=#cfcatch# item="c">
<br><CFIF IsSimpleValue(cfcatch[c])>#c# = #cfcatch[c]#</CFIF>
</CFLOOP>
</CFOUTPUT>