Resolv :: DNS - 如何处理超时,错误

时间:2013-08-13 23:11:53

标签: ruby-on-rails ruby ruby-on-rails-3 resolv

我在rails上的ruby中使用了follow函数:

  def isGoogleEmailAddress?(email_domain)
    Resolv::DNS.open({:nameserver=>["8.8.8.8"]}) do |r|
      mx = r.getresources(email_domain,Resolv::DNS::Resource::IN::MX)
      if mx.any? {|server| server.exchange.to_s.downcase.include? "google"} then
        return true
      end
      return false
    end
  end

有没有办法处理Resolv失败,超时,错误等问题?

由于

1 个答案:

答案 0 :(得分:0)

查看Resolv类的documentation,并为类可以引发的各种错误/异常添加异常处理程序。

他们很容易挑选出来。查找以错误和超时结束的类。