2011-08-18 63 views
1

如何重构cferror标签的Application.cfc的onerror的()

<cferror type="EXCEPTION" template="ErrorTemplate.cfm"> 

转化为一个onError()功能的Application.cfc?注意cferror为模板创建一个var error结构。有没有一种快速简单的方法来创建相同的错误结构?如何使用<cfinclude>将它传递给ErrorTemplate.cfm?

我知道onRequest()与目标页面共享变量作用域,但onError也共享变量作用域吗?如果不是,我该怎么办?把它贴在Form范围内?

谢谢

+0

碰到http://ketanjetty.com/coldfusion/basics/error-handling/它说:“如果你使用的是Application.cfc,使用CFERROR标签的最好方法是在onRequestStart()方法中。”真? – Henry

+0

奇怪。这实际上工作吗? (我现在无法测试)。我一直认为它必须放置在Application.cfc中的函数之外。 – Leigh

回答

2

根据http://livedocs.adobe.com/coldfusion/8/htmldocs/appFramework_15.html

考虑与onerror事件的方法替换cferror标签。如果 不这样做,请将cferror标签放入CFC初始化代码中。

根据http://www.coldfusionjedi.com/index.cfm/2007/12/5/The-Complete-Guide-to-Adding-Error-Handling-to-Your-ColdFusion-Application

如果你所使用的Application.cfc?那么要记住的一件事是 ,您可以轻松地将CFERROR标记放入您的 Application.cfc文件中。这是允许的,我之前做过。

0

为什么你不只是在App.cfc中使用onError来显示“Sorry and error occurred,we are on on it”type page?

+0

现有的错误模板依赖于由cferror提供的错误结构 – Henry

+0

在onError中将错误转储并发送给自己。我还通过电子邮件URL,CGI,会话和应用程序变量onError来确保在出现问题时解决问题。 – OagerMouzer