在 Ruby 中,你能为 twitter 创建一个 rescue,当出现错误时它会继续循环吗?
In Ruby, can you create a rescue for twitter for when there is an error it will continue the loop?
我正在尝试创建一个 rescue
,如果出现 Twitter::Error::NotFound
错误(例如不存在),它将继续执行循环。请帮忙,谢谢。
下面是代码,
begin
File.open("user_ids.txt") do |file|
file.each do |id|
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
next # skip this item
end
end
end
有没有一种方法可以跳过并继续转到循环中的下一项,而不是 retry
方法?
我很确定 error.rate_limit
不适用(我从另一个救援电话复制了这段代码),还有其他方法可以调用吗?喜欢 error.notfound.continue_with_loop
我想创建一个救援程序,如果出现诸如 does not exist
之类的错误,它就会继续循环。请帮忙,谢谢。
是 next
将继续并重试循环中的下一项。
retry
将使用相同的项目重试循环。
注意:对于该方法中的所有 do
,您没有足够的 end
。所以我会尝试:
begin
File.open("user_ids.txt") do |file|
file.each do |id|
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
sleep error.rate_limit.reset_in + 1
next # skip this item
end
end
end
注意:当您缺少 end
时,看看正确的缩进如何清楚地显示出来?
您可能需要移动当前在地块周围的 begin/end 块 - 使其仅位于您要从中拯救的代码周围(否则它将默认位于外部 begin/end 而不是你的循环)
File.open("user_ids.txt") do |file|
file.each do |id|
begin
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
sleep error.rate_limit.reset_in + 1
next # skip this item
end
end
end
我正在尝试创建一个 rescue
,如果出现 Twitter::Error::NotFound
错误(例如不存在),它将继续执行循环。请帮忙,谢谢。
下面是代码,
begin
File.open("user_ids.txt") do |file|
file.each do |id|
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
next # skip this item
end
end
end
有没有一种方法可以跳过并继续转到循环中的下一项,而不是 retry
方法?
我很确定 error.rate_limit
不适用(我从另一个救援电话复制了这段代码),还有其他方法可以调用吗?喜欢 error.notfound.continue_with_loop
我想创建一个救援程序,如果出现诸如 does not exist
之类的错误,它就会继续循环。请帮忙,谢谢。
是 next
将继续并重试循环中的下一项。
retry
将使用相同的项目重试循环。
注意:对于该方法中的所有 do
,您没有足够的 end
。所以我会尝试:
begin
File.open("user_ids.txt") do |file|
file.each do |id|
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
sleep error.rate_limit.reset_in + 1
next # skip this item
end
end
end
注意:当您缺少 end
时,看看正确的缩进如何清楚地显示出来?
您可能需要移动当前在地块周围的 begin/end 块 - 使其仅位于您要从中拯救的代码周围(否则它将默认位于外部 begin/end 而不是你的循环)
File.open("user_ids.txt") do |file|
file.each do |id|
begin
puts client.user("#{id}").screen_name
rescue Twitter::Error::NotFound => error
sleep error.rate_limit.reset_in + 1
next # skip this item
end
end
end