【发布时间】:2012-04-09 23:03:43
【问题描述】:
我正在扩展我的错误管理功能,它会转储一些变量范围并通过电子邮件将它们发送给我。对于这种情况,我在 Application.cfc 中使用了 onError 方法。
<CFDUMP var="#arguments.exception#" label="Error">
<CFDUMP var="#Application#" label="APPLICATION-Scope" />
<CFDUMP var="#form#" label="FORM-Scope">
<CFDUMP var="#url#" label="URL-Scope">
<CFDUMP var="#CGI#" label="CGI-Scope" />
<CFDUMP var="#session#" label="SESSION-Scope" />
<CFDUMP var="#variables#" label="VARIABLES-Scope" />
onError 将异常作为我在本示例中首先转储的参数......但是如何获取发生错误的函数的参数?例如,如果我在 Application.cfc 的 onRequest 方法中调用 UDF,例如 <CFSET giveMeMyScripts("javascript-file-1","javascript-file-2") />,这是否可以得到 javascript-file-1 和 javascript-file-2?那种超级论据?
感谢您对此的任何想法。
【问题讨论】:
-
我认为您不知道发生错误的函数?如果您知道哪个方法引发了错误,那么您可以将其代码包装在 CFTRY 中,将
arguments范围转储到您的 CFCATCH 中——或者将该范围复制到request范围并将其转储到onError()中-- 然后使用 CFRETHROW。我不认为onError()方法可以访问另一个方法的arguments范围。希望这会有所帮助。 -
你是对的,我不知道是哪个函数导致了异常(错误管理在许多应用程序中都使用)。感谢 cfrethrow 提示 - 这对于新项目非常有用。
标签: coldfusion user-defined-functions coldfusion-9 application.cfc