我有一个脚本蜘蛛网站,它基于Mechanize,似乎工作得很好,除了看起来像我无法捕获的错误。 'Errno :: ECONNRESET'这似乎重置连接并打印错误,但它似乎没有引发异常。处理这个问题的最佳方法是什么?我将把程序流放在下面的伪代码中。
while LinksQue.notEmpty
begin
mech.get(LinksQue.nextLink)
rescue Mechanize::ResponseCodeError => e
puts e.response_code
puts "this is a bad link"
rescue Errno::ECONNRESET
#This doesn't work
end
end
我的部分问题是我将链接标记为“已访问”或“错误链接”的方法是DB,因此除非我可以在救援块中更新数据库,否则它将继续尝试相同的链接再次。