The cfrethrow tag lets you create a hierarchy of error handlers. It tells ColdFusion to exit the current cfcatch block and "rethrow" the exception to the next level of error handler. Thus, if an error handler designed for a specific type of error cannot handle the error, it can rethrow the error to a more general-purpose error handler. The cfrethrow tag can only be used in a cfcatch tag body.
The following pseudocode shows how you can use the cfrethrow tag to create an error-handling hierarchy:
<cftry> <cftry>Code that might throw a database error
<cfcatch Type="Database"> <cfif Error is of type I can Handle>Handle it
<cfelse> <cfrethrow> </cfif </cfcatch> </cftry> <cfcatch Type="Any">General Error Handling code
</cfcatch> </cftry>
Although this example uses a Database error as an example, you can use any cfcatch type attribute in the innermost error type.
Follow these rules when you use the cfrethrow tag: