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="GetMessages" DATASOURCE="cfsnippets">
            SELECT   *
            FROM     Messages
        </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>
</CFCATCH>
</CFTRY>
    
</BODY>
</HTML>