2014-11-02 26 views
0

當出現異常錯誤時,Coldfusion將拋出錯誤。我處理它CFERROR導致瀏覽器顯示Coldfusion源代碼

<cferror 
    template = "exception.cfm" 
    type = "exception" 
    mailTo = "[email protected]"> 

這適用於「例外」錯誤罰款。還有驗證錯誤。但因爲我要趕兩個我把類型=「請求」這理應抓住兩個:

<cferror 
    template = "exception.cfm" 
    type = "request" 
    mailTo = "[email protected]"> 

問題是,當我把TYPE =「請求」和發生異常時,exception.cfm正在顯示與所有Coldfusion源代碼都顯示在瀏覽器的源代碼中查看!它工作正常,如果我把type =「例外」。這很奇怪,我不希望CF代碼在瀏覽器中顯示沒有遮罩什麼,但它確實如此。這是一些CF管理員設置問題或CF9錯誤?

+1

你已經得到了你的答案,但你的另一個問題是:如果你使用CF9,爲什麼你仍然使用''而不是Application.cfc的'onError()'? – 2014-11-02 09:16:53

+0

如果只有人能告訴我如何。我對Application.cfc很新,我開始閱讀它。我將如何使用我的上述模板編碼onError? – Jack 2014-11-02 21:26:30

+1

1)嘗試實現某些東西; 2)如果/當你遇到問題時,記錄你所做的事情,問題是什麼以及你採取了哪些調查步驟。然後在這裏提出一個問題與所有信息;-) – 2014-11-02 22:16:10

回答

3

當錯誤類型爲請求時,不能使用CFML標記。這就是爲什麼您的ColdFusion源代碼正在瀏覽器中顯示。但是當錯誤類型爲異常時,可以使用CFML標籤,函數。查看documentation瞭解更多信息。

對於類型請求,您可以使用9個CFML Error變量,如Error.Diagnostics,通過數字標牌#包圍他們。要了解更多,請參閱cferror documentation

我希望這可以幫助你。 :)

+0

感謝您的洞察力。我從來沒有發現這個閱讀CFERROR文件。這很奇怪,爲什麼要處理任何不同的請求。我的異常頁面上有錯誤診斷信息...只有在請求有效的情況下。 CF的錯誤處理是非常奇怪的,我不得不說。 – Jack 2014-11-02 21:22:46

+0

*我從來沒有發現這個閱讀CFERROR文檔*當然你會,但有時你必須仔細閱讀文檔 - 並且不止一次。我記得也是第一次錯過它;)我們都犯了這個錯誤。 – Leigh 2014-11-03 15:20:48

+0

@Leigh當訪問者在網站上遇到** Request **錯誤時,如何在沒有CFMAIL的情況下通知我?如果我無法發送自己的郵件,有什麼方法可以在某處登錄? – Jack 2016-09-12 21:53:53

相關問題