我使用两种方法将类别同步到第三方服务。第一种方法遍历所有内容,第二种方法实际上导出每个类别。如果出现故障,我该如何彻底摆脱循环?
def export_all
Category.find_each do |c|
export_category(c)
end
end
def export_category(c)
begin
sync_category(c)
rescue Exception => e
# break out of `export_all` loop
end
end
您有几种选择可以打破循环。最简单的是,您可以在循环代码中使用break
或return
。
在上述示例的上下文中,如果可能,在较大的应用程序上下文中,执行以下操作可能会更容易:
def export_all
Category.find_each do |c|
begin
export_category(c)
rescue SpecificErrorIsBetterThanGenericExceptionIfPossible => e
break
end
end
end
def export_category(c)
sync_category(c)
end
从您的问题看来,您希望在遇到异常时打破export_all方法中的循环。在这种情况下,我更喜欢在该级别的中断/错误处理代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句