Вы можете использовать try / catch для отдельного запроса - это будет наиболее детальный подход.
<cftry>
<cfquery datasource="myDSN">BROKEN SQL</cfquery>
<cfcatch type="database">
<h1>Database Offline!</h1>
<p>Sorry, the database threw an error: #cfcatch.queryError#. Try again later.</p><cfabort>
</cfcatch>
</cftry>
Вы также можете использовать тег cferror для глобальной обработки исключений (поместите это в Application.cfm):
<cferror
type="exception"
exception="database"
template="myFriendlyDatabaseErrorTemplate.cfm">
Вы также можете использовать метод onError в Application.cfc, который также (например, тег cferror) будет перехватывать все ошибки, возникающие во время запроса:
<cffunction name="onError" returnType="void">
<cfargument name="Exception" required=true/>
<cfargument name="EventName" type="String" required=true/>
<cfif arguments.Exception IS "database">
<cfinclude template="myFriendlyDatabaseErrorTemplate.cfm">
</cfif>
</cffunction>