Throws a developer-specified exception, which can be caught with a cfcatch tag that has any of the following type attribute options:
type = "custom_type"
type = "Application"type = "Any"Exception handling tags, Flow-control tags
<cfthrow type = "exception_type " message = "message" detail = "detail_description " errorCode = "error_code " extendedInfo = "additional_information" object = "java_except_object">
<cfthrow object = #object_name#>
New in ColdFusion MX: this tag can throw ColdFusion component method exceptions.
Use this tag within a cftry block, to throw an error. The cfcatch block can access accompanying information, as follows:
cfcatch.message
cfcatch.detail cfcatch.errorcode
To get more information, use cfcatch.tagContext. This shows where control switches from one page to another in the tag stack (for example, cfinclude, cfmodule).
To display the information displayed by tagContext: in the ColdFusion Administrator, Debugging page, select Enable CFML Stack Trace.
To use this tag with the object parameter, you must define an exception using the cfobject tag, with code such as the following:
<cfobject
type="java"
action="create"
class="coldfusion.tagext.InvalidTagAttributeException"
name="obj">
<cfset obj.init("Attribute", "value")>
With this code, the cfthrow statement would be as follows:
<cfthrow object=#obj#>
The cfthrow tag passes exception parameters to the obj variable.
<h3>cfthrow Example</h3>
<!--- open a cftry block --->
<cftry>
<!--- define a condition upon which to throw the error --->
<cfif NOT IsDefined("URL.myID")>
<!--- throw the error --->
<cfthrow message = "ID is not defined">
</cfif>
<!--- perform the error catch --->
<cfcatch type = "application">
<!--- display your message --->
<h3>You've Thrown an <b>Error</b></h3>
<cfoutput>
<!--- and the diagnostic feedback from the application server --->
<p>#cfcatch.message#</p>
<p>The contents of the tag stack are:</p>
<cfloop
index = i
from = 1 to = #ArrayLen(cfcatch.tagContext)#>
<cfset sCurrent = #cfcatch.tagContext[i]#>
<br>#i# #sCurrent["ID"]#
(#sCurrent["LINE"]#,#sCurrent["COLUMN"]#)
#sCurrent["TEMPLATE"]#
</cfloop>
</cfoutput>
</cfcatch>
</cftry>
ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | Bug Reporting
Version 6
Comments are no longer accepted for ColdFusion MX. ColdFusion 8 is the current version.
RSS feed | Send me an e-mail when comments are added to this page | Comment Report
Current page: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/Tags-pt313.htm
Comments
aoibheil said on Sep 10, 2002 at 9:07 PM : hlichtin said on Mar 11, 2003 at 10:32 AM : Cfsaravan said on Oct 14, 2003 at 3:25 PM : jeffiel said on Apr 1, 2004 at 1:54 AM : ajays said on Aug 27, 2004 at 8:17 AM :