cftry / cfcatch的最佳实践

时间:2010-02-23 22:32:18

标签: coldfusion error-handling

在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>

1 个答案:

答案 0 :(得分:5)

是。你可以把它设置在块之外,但为什么呢?至少这样,您将捕获在分配期间可能发生的任何奇怪错误。这不太可能,但是查询可能会成功并且分配可能会失败,那么为什么不捕获这个潜在的问题呢?

你已经获得了try / catch的开销,也可以将赋值添加到try块中。