User Guide

62 Chapter 2: ColdFusion Tags
You can code cfcatch tags in any order to catch a custom exception type.
If you specify
type = "Application", the cfcatch tag catches only custom exceptions that have
the
Application type in the cfthrow tag that defines them.
The
cfinclude, cfmodule, and cferror tags throw an exception of type = "template".
An exception that is thrown within a
cfcatch block cannot be handled by the cftry block that
immediately encloses the
cfcatch tag. However, you can rethrow the currently active exception
with the
cfrethrow tag.
The
cfcatch variables provide the following exception information:
cfcatch variable Content
cfcatch.type
Type: Exception type, as specified in cfcatch.
cfcatch.message
Message: Exception's diagnostic message, if provided; otherwise,
an empty string; in the
cfcatch.message variable.
cfcatch.detail
Detailed message from the CFML interpreter or specified in a
cfthrow tag. When the exception is generated by ColdFusion (and
not
cfthrow), the message can contain HTML formatting and can
help determine which tag threw the exception.
cfcatch.tagcontext
An array of tag context structures, each representing one level of the
active tag context at the time of the exception.
cfcatch.NativeErrorCode
Applies to type = "database". Native error code associated with
exception. Database drivers typically provide error codes to
diagnose failing database operations. Default: -1.
cfcatch.SQLState
Applies to type = "database". SQLState associated with exception.
Database drivers typically provide error codes to help diagnose
failing database operations. Default: -1.
cfcatch.Sql
Applies to type = "database". The SQL statement sent to the data
source.
cfcatch.queryError
Applies to type ="database". The error message as reported by the
database driver.
cfcatch.where
Applies to type = "database". If the query uses the cfqueryparam
tag, query parameter name-value pairs.
cfcatch.ErrNumber
Applies to type = "expression". Internal expression error number.
cfcatch.MissingFileName
Applies to type = "missingInclude". Name of file that could not be
included.
cfcatch.LockName
Applies to type = "lock". Name of affected lock (if the lock is
unnamed, the value is
"anonymous").
cfcatch.LockOperation
Applies to type = "lock". Operation that failed (Timeout, Create
Mutex, or Unknown).
cfcatch.ErrorCode
Applies to type = "custom". String error code.
cfcatch.ExtendedInfo
Applies to type = "application" and "custom". Custom error
message; information that the default exception handler does not
display.