0

我对 ruby​​ 的了解越来越多,并编写了一个偶尔会超时的脚本(进行多次 API 调用)。

我知道我需要这样rescue的例外:

rescue Timeout::Error => e
  # log #{e} for later, maybe
end

我的问题是我应该把那个rescue块放在哪里。由于我在多个循环中进行多个 API 调用,我是否需要将该块放在每个 API 循环中?我宁愿只写rescue一次该块,例如在脚本的末尾,并让它在脚本的每个循环中工作。我正在使用红宝石 1.9.3。

4

1 回答 1

1

这主要取决于您尝试如何处理错误。

例如,如果您希望错误不中止循环运行,则在循环内捕获异常,您可以记录错误并继续下一次迭代。

如果错误是“致命的”并且您不能(或不想)继续循环,则可以在外面捕获它。

于 2013-08-28T14:10:51.483 回答