【问题标题】:How to re-trigger the default error screen from the onError function in application.cfc using ColdFusion 11?如何使用 ColdFusion 11 从 application.cfc 中的 onError 函数重新触发默认错误屏幕?
【发布时间】:2015-07-03 11:57:50
【问题描述】:

当代码运行时,我使用 Application.cfc 中的 onError 函数与 RayGun 集成,但是当我们在开发时,我希望能够恢复到正常的 ColdFusion 错误事件。目前我有一些基本的错误处理,但它不如默认的 ColdFusion 行为。有人知道这是否可行以及如何实现?

如果没有办法,我打算将此作为 ColdFusion 12 的功能请求添加。

【问题讨论】:

  • 当您在开发环境中时,您能否在 Application.cfc 中重新抛出。如果失败了,那么只转储 onError 参数怎么样?
  • 如果我重新抛出,那么我将触发一个无限循环。我目前确实转储了 onerror 参数,但这与默认错误页面中的演示和努力相去甚远。感谢您的帮助,谢谢。
  • 关于无限循环的说法是基于观察还是推测?
  • 出于好奇,我尝试了重新抛出。它导致了这个错误。 Context validation error for the cfrethrow tag. It must be nested inside a cfcatch tag.
  • 嗯。我没试过。我应该。我的错。

标签: error-handling coldfusion


【解决方案1】:

这在我运行时有效。

在 Application.cfc 中

<cffunction name="onError" access="public" returntype="void">
<cfargument name="Exception" required=true type="any">
<cfif true>
<cfthrow object="#arguments.exception#">
<cfelse>
error
</cfif>
</cffunction>

在cfm页面中。

<cfscript>
X=Y;  // Y is undefined
</cfscript>

您所要做的就是将&lt;cfif true&gt; 替换为可识别您的开发环境的内容。

【讨论】:

  • 哦。这是一个显而易见的解决方案。我很惭愧没有尝试过这个。感谢您的回答。
猜你喜欢
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多