【问题标题】:Retry after exception in delphidelphi异常后重试
【发布时间】:2021-09-27 14:13:55
【问题描述】:

我有一个问题要问你。

我有一段代码如下。

try
 //some code that fails
except
 // code to retry the code that fails
end 

现在我想在异常发生后重试失败的代码。在Delphi中可以做到吗? 所以你有一种循环,在异常后重试 3/4 次。如果它在第 4 次不起作用,则给出错误消息。

【问题讨论】:

  • 是的,你自己说过:使用循环。显然还有一个柜台。
  • @AndreasRejbrand 当然!真愚蠢,我没想到这一点。

标签: delphi try-except delphi-10.4-sydney


【解决方案1】:

我经常使用这个结构:

FOR I:=1 TO Retries DO BEGIN
  TRY
    <Code>
    BREAK
  EXCEPT
    <Report/Log failure, prepare for next iteration>
  END
END

这样,它会循环“重试”次数,但如果它在某个时候成功,它就会跳出循环。

EXCEPT 部分应该为重试循环的下一次迭代做准备(比如删除由失败代码创建的任何文件等),可能由一个

IF I=Retries THEN
  RAISE
ELSE BEGIN
  <Report/Log failure, prepare for next iteration>
END

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2011-08-17
    相关资源
    最近更新 更多