2010-10-15 16 views
7

Die folgende Zeile:Handhabung Net :: HTTP.get Ausfälle

page_source = Net::HTTP.get(URI.parse("http://not-a-real-url.com")) 

Wenn eine URL übergeben, die richtig formatiert ist, aber geht nicht überall (wie das Beispiel oben), ausstirbt mit:

Ich versuche herauszufinden, wie man diese Bedingung "beginne/rette", aber ich kann nicht in der Dokumentation finden, welcher Fehler, wenn überhaupt, die "Get" -Methode wirft.

Antwort

9

Hilft das?

begin 
    page_source = Net::HTTP.get(URI.parse("http://not-a-real-url.com")) 
rescue SocketError => e 
    puts e.message 
end 
+0

Ah! Arbeitete perfekt, danke! – jefflunt

+0

Ich habe das für mein Problem versucht, aber das '=>' scheint einen Fehler zu werfen, da schienen scheint, dass Sie versuchen, das Ruby-Tag zu schließen <% = begin page_source = Net :: HTTP.get (URI.parse (" http://not-a-real-url.com ")) rettung SocketError => e puts e.message end%> –