如何尝试捕获CFHTTP错误?

时间:2016-03-10 16:26:52

标签: coldfusion coldfusion-10

我尝试通过CFHTTP捕获REST服务调用并将throwonerror设置为true,但在我的catch-output中,它没有显示任何内容。

<cftry> 
    <cfhttp url="https://app.knowledg.com/api/head/article1.json" method="get" timeout="15" throwonerror="true" >       
        <cfhttpparam type="url" name="_authbykey" value="56a7d8c123131c4058361687"> 
        <cfhttpparam type="url" name="project_id" value="55c4ffd12331c527e294fe6"> 
        <cfhttpparam type="url" name="replaceSnippets" value="true" />
        <cfhttpparam type="url" name="limit" value="99" />
         <cfhttpparam type="url" name="url_hash" value="#URL.title#" />    
    </cfhttp>
    <cfcatch type="any" >
        <cfoutput>
        Error: #cfcatch.message#
        </cfoutput>
    </cfcatch>
</cftry>

但是,这是页面上的错误。我看到这个thread提到了类似的问题但该线程是一年前的,并没有得到任何答案。

自定义脚本模块出错 (/mysite/customcf/knowledge/articleDetail.cfm) 类java.lang.String类型的对象不能用作数组

1 个答案:

答案 0 :(得分:0)

我认为您正在处理编译器异常,而不是可以使用cftry / cfcatch块捕获的运行时异常。

Handling compiler exceptions

  

您无法直接在出现的页面上处理编译器异常,因为在ColdFusion开始运行页面代码之前会捕获异常。修复所有编译器异常作为开发过程的一部分。使用报告的错误消息和调试和故障排除应用程序中讨论的代码调试技术来识别和纠正错误原因。

在尝试对其进行http调用之前,您需要调试/mysite/customcf/knowledge/articleDetail.cfm文件。