Ich versuche, Inhalte aus einer Liste von Links mit "Open-Uri" in Ruby (1.8.6) zu verarbeiten, aber die schlechte Sache passiert, wenn ich einen Fehler erhalte, wenn eine Verbindung unterbrochen ist oder Authentifizierung erfordert:
%Vor%oder
%Vor%oder
%Vor%Gibt es eine Möglichkeit, die Antwort (URL) vor der Verarbeitung von Daten zu testen?
Der Code ist:
%Vor%Vielen Dank
Sie könnten etwas nach dem Motto
ausprobieren %Vor%Ich kenne keine Möglichkeit, die Verbindung zu testen, ohne sie zu öffnen und zu versuchen, also wäre die Rettung dieser Fehler die einzige Möglichkeit, an die ich denken könnte. Zu beachten ist, dass OpenURI :: HTTPError und SocketError beide Unterklassen von StandardError sind, während Errno :: ECONNRESET eine Unterklasse von SystemCallError ist. Also Rettung = & gt; e wird Errno :: ECONNRESET nicht fangen.
Ich konnte dieses Problem lösen, indem ich eine bedingte if / else-Anweisung verwendete, um den Rückgabewert der Aktion für "failure" zu überprüfen:
%Vor%