捕获错误时如何继续循环执行

问题描述 投票:0回答:1
<cfloop from="2" to="#ArrayLen(MyList)#" index="i">
  ---Line of code---
  <cftry>
    ---Line of code----
    <cfcatch type="any">
      <cffile action = "append" file="#TempDirectory#\ErrorFile.csv" Output="#Mylist[i]#" addnewline="yes">
    </cfcatch>
  </cftry>
</cfloop>

一旦在 try 中发现错误,catch 块会将发生错误的数据存储在文件中,但 cfloop 会停止执行,Catch 不会继续 cfloop 执行。

是否有其他解决方案可以在发生错误时将数据存储在文件中并继续循环执行?

coldfusion try-catch cfloop
1个回答
0
投票

据我所知,cfcatch本身不会中断循环执行,但是您可以尝试将文件写入移到cfcatch之外,并在cfcatch内,只需将导致错误的数据插入到例如名为“errorData”的变量中。您可以尝试在 cftry 之后添加此代码:

<cfif StructKeyExists(cfcatch, "type")>
<cffile action="append" file="#TempDirectory#\ErrorFile.csv" output="#errorData#" addnewline="yes">

此外,您可以尝试添加 cfcontinue,但重申一下,cfcatch 不应中断循环执行

© www.soinside.com 2019 - 2024. All rights reserved.