【问题标题】:Catching errors database errors in ColdFusion在 ColdFusion 中捕获错误数据库错误
【发布时间】:2012-02-14 21:09:38
【问题描述】:

我有一个与 sql server 数据库通信的 ColdFusion cfm 文件。现在,如果数据库连接出现问题,它会弹出 ColdFusion 生成的错误页面。有没有办法可以捕获错误并显示一条消息,例如“数据库服务器暂时关闭,请稍后再回来”? 泰德

【问题讨论】:

  • 既然您现在正在使用这种伟大的语言.. 再次“ColdFusion”是一个词,而不是两个 ;)

标签: coldfusion


【解决方案1】:

您可以对单个查询使用 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">

您还可以在 Application.cfc 中使用 onError 方法,该方法还将(如 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 2018-10-05
    相关资源
    最近更新 更多