按以下Travis的意見 - 而採用cferror
標籤仍然支持,建議從Application.cfm轉換成的Application.cfc(如果沒有的話),並使用onError
方法來代替。當使用onError
方法並且所有CFML功能可用時,下面列出的所有限制均不適用。 Here is the ColdFusion 9 documentation for the onError method.
詳細地有ColdFusion documentation regarding error handling的整個部分。但是,對於您的關於cferror
標籤的具體問題,您需要認識到,發生錯誤時,ColdFusion可以執行的操作有限制,甚至取決於錯誤的類型。下面是從this page採取的摘錄:
下表列出了 規則和注意事項適用於錯誤的應用程序頁面:
驗證
- 不能使用CFML標籤
- 可以使用HTML標籤
- 可以使用
Error.InvalidFields
,Error.validationHeader
和Error.validationFooter
variab萊用數字符號(#)括起來
- 不能使用任何其他CFML變量
請求
- 不能使用CFML標籤
- 可以使用HTML標記
- 可以使用九個CFML錯誤變量,如
Error.Diagnostics
,用數字標記將它們括起來
- 無法使用其他CFML變量
異常
- 可以使用完整的語法CFML,包括變量,函數和變量
- 可以使用9個標準CFML錯誤變量和cfcatch變量。二者必選其一
Error
或cferror
作爲前綴兩種類型的變量
- 可以使用其他應用程序定義的CFML變量
- 顯示任何CFML變量,使用CFOUTPUT標籤從this page採取
摘錄有關每個異常類型的可用錯誤變量:
僅限驗證
error.validationHeader Validation message header text.
error.invalidFields Unordered list of validation errors.
error.validationFooter Validation message footer text.
請求和異常
error.diagnostics Detailed error diagnostics from ColdFusion.
error.mailTo E-mail address (same as value in cferror.MailTo).
error.dateTime Date and time when error occurred.
error.browser Browser that was running when error occurred.
error.remoteAddress IP address of remote client.
error.HTTPReferer Page from which client accessed link to page where error occurred.
error.template Page executing when error occurred.
error.generatedContent The content generated by the page up to the point where the error occurred.
error.queryString URL query string of client's request.
例外只有
error.message Error message associated with the exception.
error.rootCause The root cause of the exception. This structure contains the information that is returned by a cfcatch tag.
For example, for a database exception, the SQL statement that caused the error is in the error.RootCause.Sql variable.
For Java exceptions, this variable contains the Java servlet exception reported by the JVM as the cause of the "root cause" of the exception.
error.tagContext Array of structures containing information for each tag in the tag stack. The tag stack consists of each tag that is currently open.
error.type Exception type.
注:如果type = 「異常」,可以替代前綴cferror的錯誤;例如,cferror.diagnostics,cferror.mailTo或cferror.dateTime。
我不會有400個錯誤的自定義頁面發送電子郵件只有500錯誤。該文件是一個.cfm文件。錯誤頁面顯示它只是去掉任何煩人的cf調用,因爲我希望能夠在文件中使用cf mail等。 – 2013-02-12 18:05:23