我有一个脚本,调用Facebook测试api自动化测试帐户创建。从看似随机的时间间隔,从50次请求到6000次请求之后,我得到一个未被捕获的异常。我对如何找出错误是无法理解的,所以我将从这里的相关代码开始。未捕获的异常与红宝石净/ http请求包装
我没有使用URI库,因为facebook键的管道字符会破坏ruby 1.8.7的URI.parse。
require 'rubygems'
require 'net/https'
require 'json'
http = Net::HTTP.new(domain, 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
def request_wrapper(http, request)
retry_count = 5
begin
return http.request(request)
rescue Exception => e
retry_count--
if retry_count < 0
raise e
end
retry
end
for i in 0..500 do
request = Net::HTTP::Get.new('https://' + domain + path)
response = request_wrapper(http, request)
end
的代码将工作一段时间,但总免不了报告如下:
在
rescue in request_wrapper': undefined method
- @”的零:NilClass (NoMethodError)
没有人见过这个未定义的方法' - @'之前?再一次,这种情况非常间歇性地发生,但它是我身边真正的刺。它总是指向我调用请求包装器的代码中的行。
感谢您的关注。
完全正确!谢谢! – ToneLoc 2012-03-15 17:13:01