Displays a custom HTML page when an error occurs. This lets you maintain a consistent look and feel among an application's functional and error pages.
Exception handling tags, Extensibility tags, Application framework tags
<cferror
type = "a type"
template = "template_path"
mailTo = "email_address"
exception = "exception_type">
cfrethrow
,
cfthrow
,
cftry
,
Handling Errors in ColdFusion MX Developer's Guide.
ColdFusion MX: Deprecated the monitor
option of the exception
attribute. It might not work, and might cause an error, in later releases.
Attribute | Req/Opt | Default | Description |
---|---|---|---|
type |
Required |
|
Type of error that the custom error page handles. The type also determines how ColdFusion handles the error page. For more information, see Specifying a custom error page in Specifying a custom error page in ColdFusion MX Developer's Guide.
|
template |
Required |
|
Relative path to the custom error page. (A ColdFusion page was formerly called a template.) |
mailTo |
Optional |
|
An e-mail address. This attribute is available on the error page as the variable |
exception |
Optional |
Any |
Type of exception that the tag handles:
For more information on exception types, see cftry. |
Use this tag to provide custom error messages for pages in an application. This lets you maintain a consistent look and feel within the application, even when errors occur.
You generally embed this tag in your Application CFC or Application.cfm file to specify error-handling responsibilities for an entire application. You must put it in one of these files if you specify type="validation"
; ColdFusion ignores it on any other page.
The cftry
and cfcatch
tags provide a more interactive way to handle ColdFusion errors within a ColdFusion page than the cferror
tag, but the cferror
tag is a good safeguard against general errors.
To ensure that error pages display successfully, avoid using the cfencode
utility to encode pages that include the cferror
tag.
The following table describes the types of errors you can specify and code you can use on the pages that handle these error type:
Page type | Description | Use |
---|---|---|
Exception |
Dynamically invoked by the CFML language processor when it detects an unhandled exception condition. Uses the full range of CFML tags. Error variables must be in |
Can handle specific exception types or display general information for exceptions. |
Request |
Includes the error variables described in the Error Variables section. Cannot include CFML tags, but you can display values of the error variables by enclosing them in number signs (#), as in |
Use as a backup error handler to other error handling methods, including exception type. |
Validation |
Handles data input validation errors that occur when submitting a form that uses hidden form-field validation or onSubmit validation. Cannot include CFML tags, but you can display values of the error variables by enclosing them in number signs (#), as in You must specify the validation error handler in the Application.cfc or Application.cfm file. |
Handles hidden form-field or onSubmit format validation errors only. |
The exception-handling page specified in the cferror
tag template
attribute contains one or more error variables. ColdFusion substitutes the value of the error variable when an error displays.
The following table lists error variables:
Page type | Error variable | Description |
---|---|---|
Validation only |
error.validationHeader |
Validation message header text. |
error.invalidFields |
Unordered list of validation errors. |
|
error.validationFooter |
Validation message footer text. |
|
Request and Exception |
error.diagnostics |
Detailed error diagnostics from ColdFusion MX. |
error.mailTo |
E-mail address (same as value in |
|
error.dateTime |
Date and time when error occurred. |
|
error.browser |
Browser that was running when error occurred. |
|
error.remoteAddress |
IP address of remote client. |
|
error.HTTPReferer |
Page from which client accessed link to page where error occurred. |
|
error.template |
Page executing when error occurred. |
|
error.generatedContent |
The content generated by the page up to the point where the error occurred. |
|
error.queryString |
URL query string of client's request. |
|
Exception only |
error.message |
Error message associated with the exception. |
error.rootCause |
The root cause of the exception. This structure contains the information that is returned by a |
|
error.tagContext |
Array of structures containing information for each tag in the tag stack. The tag stack consists of each tag that is currently open. |
|
error.type |
Exception type. |
Note: If type = "exception"
, you can substitute the prefix cferror
for Error
; for example, cferror.diagnostics, cferror.mailTo
, or cferror.dateTime
.
<h3>cferror Example</h3> <!--- Example of cferror call within a page. NOTE: If you use cferror type="VALIDATION" you MUST put it in Application.cfc or Application.cfm ---> <cferror type = "REQUEST" template = "request_err.cfm" mailTo = "[email protected]"> <!--- This query calls a non-existent datasource, triggering an error to be handled. ---> <cfquery name="testQuery" datasource="doesNotExist"> select * from nothing </cfquery> <!--- Example of the page (request_err.cfm) to handle this error. ---> <html> <head> <title>We're sorry -- An Error Occurred</title> </head> <body> <h2>We're sorry -- An Error Occurred</h2> <p> If you continue to have this problem, please contact #error.mailTo# with the following information:</p> <p> <ul> <li><b>Your Location:</b> #error.remoteAddress# <li><b>Your Browser:</b> #error.browser# <li><b>Date and Time the Error Occurred:</b> #error.dateTime# <li><b>Page You Came From:</b> #error.HTTPReferer# <li><b>Message Content</b>: <p>#error.diagnostics#</p> </ul>