【发布时间】:2013-01-09 14:19:14
【问题描述】:
我正在使用 ColdFusion 8。我想在 ColdFusion 中捕获 NoClassDefFoundError 异常,但是我不能...它仍然失败并在 exception.log 文件中记录错误。这是我尝试过的。
<cftry>
<cfset myJavaObject.myMethod()>
<cfcatch type="any">
<cfdump var="#cfcatch #">
</cfcatch>
<cfcatch type="java.lang.Throwable">
Horrible exception.
<cfdump var="#cfcatch #">
</cfcatch>
</cftry>
但这不起作用。你能告诉我怎么做吗?我需要在特定位置捕获此错误,而不是在 Application.cfc 的 OnError 函数中。
【问题讨论】:
-
NoClassDefFoundError是一个未经检查的异常,你确定 ColdFusion 能捕捉到这些吗? -
我已在您的问题中添加了
ColdFusion标签,以便更多人看到它。您在该代码示例中有几个拼写错误。结尾cftry并且在井号和变量名称#cfcatch#之间不应有任何空格。 'any' 的 catch 类型应该得到错误,不确定 'java.lang.Throwable' 类型? -
如果你的 catch 中有任何错误,它会抛出 CF 错误。正如 Miguel-F 所说,如果您的代码中存在这些空格,则表示语法错误并且 CF 反应正确。错误处理程序必须是完美的,否则它们基本上是无用的。
-
我发现这篇关于 CF 8 的类似帖子 - <cfcatch> not 'catching' an error。请参阅以下@Leigh 的答案。试试看。
-
@Leigh 如此行事,还是您删除了您的答案?我再也看不到了。
标签: java coldfusion coldfusion-8