Resolv::DNS - Как обрабатывать таймауты, ошибки
Я использую следующую функцию в ruby на рельсах:
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 ответ
Просмотрите документацию по классу Resolv и добавьте обработчики исключений для различных ошибок / исключений, которые может вызвать класс.
Их легко выбрать. Ищите классы, заканчивающиеся ошибкой и тайм-аутом.