冷聚变:cfcatch是怎么回事.错误编号工作



ColdFusion如何为cfcatch分配错误编号/值。错误编号?我知道我必须把它放在cf药物/cf捕获标签中。当发现错误时,我可以使用cfcatch.message或cfcatch.detail来查看发生了什么,但如果我尝试访问cfcatch。ErrNumber,我得到一个错误。你是如何实现的?CFDOCS毫无用处。

没什么大不了的,只是好奇。

<cftry>
<cfquery name='somequery' datasource='dsn'>
    select foo1, foo2, foo3
    from footable XXX
</cfquery>
<cfcatch type='any'>
    <cfoutput>#cfcatch.message#</cfquery>
</cftry>

上面的片段将返回并说明由于我在表名后面添加了XXX而找不到的表。cfcatch在哪里。ErrNumber在这里起作用了吗?

您没有看到它,因为当错误类型为"expression"时,errNumber只是cfcatch的有效属性。来自文档:

cfcatch.ErrNumber适用于type="expression"。内部表达式错误编号。

所以你必须把你的代码改成这样:

<cftry>
<cfquery name='somequery' datasource='dsn'>
    select foo1, foo2, foo3
    from footable XXX
</cfquery>
    <cfcatch type='expression'>
        <cfoutput>#cfcatch.errNumber#</cfoutput>
    </cfcatch>
    <cfcatch type='any'>
    <cfoutput>#cfcatch.message#</cfoutput>
    </cfcatch>
</cftry>

最新更新