# 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>