
128
DEVELOPING
COLDFUSION 9 APPLICATIONS
The CFML Programming Language
Las
t
upda
te
d 8/5/2010
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
cffinally
tags 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>
CFScript example
The following example uses these CFScript features:
•
Variable assignment
•
Function calls
•
For loops
•
If-else statements