Whatever message this page gives is out now! Go check it out!

Handling exceptions

Last update:
May 18, 2026
ColdFusion provides two statements for exception handling in CFScript: try and catch. These statements are equivalent to the CFML cftry and cfcatch tags.
Note:
For a discussion of exception handling in ColdFusion, see Handling Errors.

Exception handling syntax and rules

Exception-handling code in CFScript has the following format:
try { 
 Code where exceptions will be caught 

catch(exceptionType exceptionVariable) { 
 Code to handle exceptions of type exceptionType  
 that occur in the try block 

...  
catch(exceptionTypeN exceptionVariableN) { 
 Code to handle exceptions of type  
 exceptionTypeN that occur in the try block 

finally { 
 Code that will execute whether there is an exception or not. 
}
Note:
In CFScript, catch and finally statements follow the try block; you do not place them inside the try block. This structure differs from that of the cftry tag, which must include the cfcatch and cffinallytags in its body.
When you have a try statement, you must have a catch statement. In the catch block, the exceptionVariable variable contains the exception type. This variable is the equivalent of the cfcatch tag cfcatch.Type built-in variable.
The finally block is optional. Its code always runs, and runs after the code in the try block and any catch block.

Exception handling example

The following code shows exception handling in CFScript. It uses a CreateObject function to create a Java object. The catch statement executes only if the CreateObject function generates an exception. The displayed information includes the exception message; the except.Message variable is the equivalent of calling the Java getMessage method on the returned Java exception object. The message in the finally block appears after the catch block message.
<cfscript> 
 try { 
  emp = CreateObject("Java", "Employees"); 
 } 
 catch(any excpt) { 
  WriteOutput("The application was unable to perform a required operation.<br> 
 Please try again later.<br>If this problem persists, contact 
 Customer Service and include the following information:<br> 
    #excpt.Message#<br>"); 
 } 
 finally { 
 writeoutput("<br>Thank you for visiting our web site.<br>come back soon!"); 
 } 
</cfscript>

Multiple exception handling in catch statements

Note: Added in ColdFusion (2025 release).
ColdFusion also supports multiple exception handling. You can handle multiple exceptions using a single catch statement within a try/catch block, separated by pipes.
For example,
<cfscript>
    try {
        // Code that might throw an exception
        result = 10 / 0; // This will throw an arithmetic exception
    } 
    catch (expression|application|database e) {
        // This block catches arithmetic or divide by zero errors
        writeOutput("Error caught: " & e.message);
    } 
    catch (any e) {
        // A generic catch block for all other exceptions
        writeOutput("Unknown Error: " & e.message);
    }
</cfscript>
Output
Error caught: Division by zero.

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page