我正在学习越来越多关于ruby的知识,并编写了一个偶尔超时的脚本(进行了几个API调用)。
我知道我需要用这样的东西rescue
异常:
rescue Timeout::Error => e
# log #{e} for later, maybe
end
我的问题是我应该把rescue
块放在哪里。由于我在多个循环中进行了几个API调用,我是否需要将该块放入每个API循环中?我更愿意只写一次rescue
块,例如在脚本的末尾,并让它在脚本的每个循环中工作。我使用的是ruby 1.9.3。
这主要取决于您尝试如何处理错误。
例如,如果您希望错误不中止循环运行,在循环中捕获异常,则可以记录错误并继续下一次迭代。
如果错误有点"致命",并且您不能(或不想)继续循环,那么您可以在外部捕获它。