我必须使用Ruby来拯救循环中的异常吗



我正在学习越来越多关于ruby的知识,并编写了一个偶尔超时的脚本(进行了几个API调用)。

我知道我需要用这样的东西rescue异常:

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

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

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

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

如果错误有点"致命",并且您不能(或不想)继续循环,那么您可以在外部捕获它。

最新更新