以下の Travis のコメントによると、cferror
タグの使用は引き続きサポートされていますが、Application.cfm から Application.cfc に変換し (まだ使用していない場合)、onError
代わりにメソッドを使用することをお勧めします。onError
メソッドを使用し、すべての CFML 機能を使用できる場合、以下にリストしたすべての制限は適用されません。onError メソッドに関する ColdFusion 9 のドキュメントは次のとおりです。
エラー処理に関する詳細なセクション全体がColdFusion ドキュメントにあります。ただし、タグに関する特定の質問についてはcferror
、エラーが発生したときに ColdFusion が実行できることには制限があり、それはエラーの種類にも依存することを認識する必要があります。以下は、このページからの抜粋です。
次の表に、エラー アプリケーション ページに適用されるルールと考慮事項を示します。
検証
- CFML タグは使用できません
- HTMLタグが使える
Error.InvalidFields
、Error.validationHeader
、およびError.validationFooter
変数をシャープ記号 (#) で囲んで使用できます。
- その他の CFML 変数は使用できません
リクエスト
- CFML タグは使用できません
- HTMLタグが使える
- などの 9 つの CFML エラー変数
Error.Diagnostics
を番号記号で囲むことで使用できます。
- 他の CFML 変数は使用できません
例外
- タグ、関数、変数を含む完全な CFML 構文を使用できます
- 9 つの標準 CFML エラー変数と cfcatch 変数を使用できます。両方のタイプの変数の接頭辞としてまたは のいずれ
Error
かを使用しますcferror
- 他のアプリケーション定義の CFML 変数を使用できます
- CFML 変数を表示するには、cfoutput タグを使用します。
各例外タイプで使用可能なエラー変数に関するこのページ
からの抜粋:
検証のみ
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 = "exception" の場合、接頭辞 cferror を Error に置き換えることができます。たとえば、cferror.diagnostics、cferror.mailTo、cferror.dateTime などです。