在ColdFusion 8或更低版本中,标记的行是否在正确的位置?
<cftry>
<cfquery name="local.qry" datasource="myDatasource">
SELECT ID FROM TableName
WHERE ...
</cfquery>
<cfset local.result = local.qry.ID><!--- this line! --->
<cfcatch>
<cfset local.result = Variables.objDatabase.CatchError(cfcatch)>
</cfcatch>
</cftry>
<cfreturn local.result>
答案 0 :(得分:5)
是。你可以把它设置在块之外,但为什么呢?至少这样,您将捕获在分配期间可能发生的任何奇怪错误。这不太可能,但是查询可能会成功并且分配可能会失败,那么为什么不捕获这个潜在的问题呢?
你已经获得了try / catch的开销,也可以将赋值添加到try块中。