我在ColdFusion中偶然发现了一个非常奇怪的问题,这可能是一个很糟糕的问题,但是我想把它发布在这里,以防我错过了什么。
在尝试索引无效文件时,cfindex
似乎抛出了无法捕获的异常。
我还不完全确定无效文件包含什么,但问题出现在有效的PDF文件中,但没有PDF扩展名。显然,通过添加有效的扩展可以很容易地解决问题,但这不是问题的范围。
<cftry>
<cfindex
collection="some_collection"
action="update"
key="//someserver/some_file_without_extension">
After index
<cfcatch type="any">
Exception caught
</cfcatch>
<cffinally>
Finally block
</cffinally>
</cftry>
Completed
运行上面的代码时,输出的唯一内容是Finally block
,因此就像是抛出异常,但无法捕获。
我甚至尝试使用type="java.lang.Exception"
,type="java.lang.Throwable"
和type="searchengine"
,但没有任何效果。
我发现检测此类异常的唯一方法是检查finally
块中的布尔标志,但是从这些错误中恢复是非常麻烦的。
另一个非常奇怪的事情是,遇到问题后,如果我在浏览器中刷新页面,我将收到以下错误:
HTTP Error 503.0 - Server Error
The service is unavailable.
Module IsapiModule
Notification ExecuteRequestHandler
Handler JWildCardHandler
Error Code 0x00000000
然后再次刷新后,我得到Finally block
如果我一直刷新,则反复出现相同的行为(最后阻止然后503错误)。