我是否必须使用Ruby来挽救循环内的异常?

时间:2013-08-28 14:05:36

标签: ruby exception-handling rescue

我正在学习越来越多关于ruby的知识,并编写了一个脚本,可以暂时执行(进行多次API调用)。

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

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

我的问题是我应该放置rescue块。由于我在多个循环中进行了多次API调用,我是否需要将该块放在每个API循环中?我宁愿在脚本的末尾编写一次rescue块,并让它在脚本的每个循环中工作。我使用的是ruby 1.9.3。

1 个答案:

答案 0 :(得分:1)

这主要取决于您尝试对错误做些什么。

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

如果错误有点“致命”,你不能(或不想)继续循环,你就会把它抓到外面。