Handling runtime exceptions

You have many choices for handling exceptions, and the exact path you take depends on your application and its needs. The following table provides a guide to selecting an appropriate technique:

Technique

Use

cftry

Place cftry blocks around specific code sections where exceptions can be expected and you want to handle those exceptions in a context-specific manner; for example, if you want to display an error message that is specific to that code.

Use cftry blocks where you can recover from an exception. For example, you can retry an operation that times out, or access an alternate resource. You can also use the cftry tag to continue processing where a specific exception does not harm your application; for example, if a missing resource is not required.

For more information, see Handling runtime exceptions with ColdFusion tags.

Application.cfc onError method

Implement the onError method in your Application.cfc to consistently handle application-specific exceptions that are generated by multiple code sections in the application. For more information on error handling using Application.cfc, see Handling errors in Application.cfc.

cferrorwith exception- specific error handler pages

Use the cferror tag to specify error pages for specific exception types. These pages cannot recover from errors, but they can provide the user with information about the cause of the error and the steps to take to prevent the problem.

For more information, see Specifying custom error messages with the cferror tag.

cferror with a Request error page

Use the cferror tag to specify a Request error handler that provides a customized, application-specific message for unrecoverable exceptions. Place the tag in the Application.cfc initialization code or on the Application.cfm page to make it apply to all pages in an application.

A Request error page cannot use CFML tags, but it can display error variables. As a result, you can use it to display common error information, but you cannot provide error-specific instructions. Typically, Request pages display error variable values and application-specific information, including support contact information.

For example code, see Example of a request error page section.

Site-wide error handler page

Specify a site-wide error handler in the Administrator to provide consistent appearance and contents for all otherwise-unhandled exceptions in all applications on your server.

Like the Request page, the site-wide error handler cannot perform error recovery. However, it can include CFML tags in addition to the error variables.

Because a site-wide error handler prevents ColdFusion from displaying the default error message, it allows you to limit the information reported to users. It also lets you provide all users with default contact information or other instructions.