<cfthrow>
The cfthrow tag raises a developer-specified exception that can be caught with <cfcatch> tag having any of the following type specifications
- cfcatch type = 'custom_type'
- cfcatch type = 'Application'
- cfcatch type = 'Any'
This tag cannot have a body.
This tag is also supported within <cfscript>
<cfthrow
type=string
message=any
detail=string
errorCode=string
extendedInfo=string
object=any
cause=any
>
Examples
Tag example
<cftry>
<cfthrow message="test exception">
<cfcatch name="test" type="any">
<cfdump var="#cfcatch#">
</cfcatch>
</cftry>
Script example
try {
throw message="test exception"; //CF9+
} catch (any e) {
echo("#cfcatch#");
}
Adding additional info to an Exception using cause
try {
try {
throw message="test exception";
} catch (any e) {
// throw original exception with additional info, using "cause" Lucee 6+
// see the "Caused by" at the bottom of the java stacktrace
throw(message="error running batch", cause=e);
}
} catch (ee){
// this extra catch is to prevent trycf swallowing the exception detail
echo(ee);
}
See also
- Debugging
- Exception - Cause
- Exception Output
- Throw()
- <cfcatch>
- <cffinally>
- <cfrethrow>
- <cfretry>
- <cftry>
- Search Issue Tracker
- Search Lucee Test Cases (good for further, detailed examples)