我有一个蜘蛛网站的脚本,它基于 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
我的部分问题是我将链接标记为“已访问”或“坏链接”的方法是一个数据库,因此除非我可以在救援块中更新数据库,否则它只会一次又一次地尝试相同的链接。