Ruby SocketError Handing

时间:2014-12-15 07:03:43

标签: ruby http crash

在Ruby中,我所做的任何错误处理似乎都没有任何效果。例如,在这个函数中。



def http (uri)
  url = URI.parse(uri)
  if Addressable::url.host
    if url.scheme=='https'
      response = Net::HTTP.start(url.host, use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
        http.get url.request_uri, 'User-Agent' => 'MyLib v1.2'
      end
    elsif url.scheme=='http'
      begin
        http = Net::HTTP.new(url.host, url.port)
        response = http.request(Net::HTTP::Get.new(url.request_uri))
      rescue
        response.body = "lol"
      end
    end
  else
    response.body = "lol"
  end
  return response.body
end



 无论错误处理如何,代码仍然会崩溃并在开始之后立即给出错误。 我知道url主机无效,但错误处理是不是应该修复它?

  

`initialize':getaddrinfo:提供nodename或servname,或者未知(SocketError)

0 个答案:

没有答案