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

私はtxtファイルからパスURLを読み取りました。 URLソケットエラーまたはタイムアウトエラーが発生すると、プログラムは終了します。 これを防ぐために、URLソケットエラーが発生していないことを確認したいと思います。ソケットエラーのルビーのURLを確認するには

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

答えて

0

ifステートメントの代わりに、例外ハンドラを使用する必要があります。期待しているエラーがSocketErrorErrno::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 
関連する問題