2017-02-10 16 views
1
uri = URI("http://#{url}") 
res = Net::HTTP.get_response(uri) ### Code here 

Я прочитал URL-адреса пути из файла txt. При ошибке сокета или ошибки тайм-аута программа закрывается. Чтобы предотвратить его, я хочу проверить, что он не дает ошибки сокета url.Как проверить URL-адрес ошибки сокета ruby ​​

uri = URI("http://#{url}") 
if (uri== worked) ### What should I use here? 
    res = Net::HTTP.get_response(uri) 
end 

ответ

0

Вместо if заявления, вы должны использовать обработчик исключений для этого. Предполагая, что вы ожидаете ошибки SocketError и Errno::ETIMEDOUT, это выглядело бы примерно так:

begin 
    # code that might raise the error 
rescue SocketError => e 
    # run this code in the event of a socket error 
rescue Errno::ETIMEDOUT => e 
    # run this code in the event of a timeout 
ensure 
    # run this code unless an error is raised that isn't accounted for 
end