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>