2012-02-14 50 views
1

我有一個與sql server數據庫通信的ColdFusion cfm文件。現在,如果數據庫連接出現問題,它會引發由ColdFusion生成的錯誤頁面。有沒有一種方法可以捕獲錯誤並顯示一條消息,如「數據庫服務器暫時關閉,請稍後再回來」? Ted在ColdFusion中捕獲錯誤數據庫錯誤

+2

既然你現在用這個偉大的語言..再次「ColdFusion的」是一個詞,而不是兩個;) – Leigh 2012-02-14 21:34:58

回答

6

您可以對單個查詢使用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> 

您也可以使用全局異常處理(把這個Application.cfm)的cferror標籤:

<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> 
+0

你好,謝謝你的幫助! – 2012-02-27 13:44:19