Throws a developer-specified exception, which can be caught
with a cfcatch tag that has any of the following type attribute
type = "custom_type"
type = "Application"
type = "Any"



Attribute Reference for the cfthrow tag


Required: No
Default: Custom
* A custom type
* Application
Do not enter another predefined type; types are not
generated by CFML applications. If you specify
Application, you need not specify a type for cfcatch. Values:
  • Custom
  • Application
  • Database
  • Template
  • Security
  • Object
  • MissingInclude
  • Expression
  • Lock
  • SearchEngine


Required: No
Message that describes exception event.


Required: No
Description of the event. CFML appends error position
to description; server uses this parameter if an error is
not caught by your code.


Required: No
A custom error code that you supply.


Required: No
A custom error code that you supply.


Required: No
Requires the value of the cfobject tag name attribute.

Throws a Java exception from a CFML tag.

This attribute is mutually exclusive with all other
attributes of this tag.



Version 4+ CF 9+ throw added to cfscript.

Examples sample code using the cfthrow tag

Script Example: Try, Throw, Catch, Finally!

Throw and Finally requires CF 9+ in cfscript

try {
    throw(message="Oops", detail="xyz"); //CF9+
} catch (any e) {
    writeOutput("Error: " & e.message);
} finally { //CF9+
    writeOutput("I run even if no error");

Expected Result: Error: OopsI run even if no error

Fork me on GitHub