以下代码有效:
collection.each do |i|
begin
next if i > 10
i += 1
rescue
puts "could not process #{ i }"
end
end
但是,当我们重构时:
collection.each do |i|
begin
increment i
rescue
puts "could not process #{ i }"
end
end
def increment i
next if i > 10
i += 1
end
我得到invalid next
错误。这是 Ruby (1.9.3) 的限制吗?
begin rescue
如果增量方法中存在异常,该块是否以相同的方式工作?