Zunächst ist mein Problem sehr ähnlich zu diesem . Ich möchte eine Zeitüberschreitung von urllib.urlopen (), um eine Ausnahme zu erzeugen, die ich behandeln kann.
Fällt das nicht unter URLError?
%Vor%Die Fehlermeldung:
resp = urllib.request.urlopen (req, timeout = 10) .read () .decodieren ('utf-8')
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 138, in urlopen
return opener.open (URL, Daten, Timeout)
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 369, im geöffneten
Antwort = self._open (req, Daten)
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 387, in _open
'_open', req)
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 347, in _call_chain result = func (* args)
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 1156, in http_open
return self.do_open (http.client.HTTPConnection, req)
Datei "/usr/lib/python3.2/urllib/request.py", Zeile 1141, in do_open
r = h.gerresponse ()
Datei "/usr/lib/python3.2/http/client.py", Zeile 1046, in getresponse response.begin ()
Datei "/usr/lib/python3.2/http/client.py", Zeile 346, beginnt mit
Version, Status, Grund = self._read_status ()
Datei "/usr/lib/python3.2/http/client.py", Zeile 308, in _read_status
line = str (self.fp.readline (_MAXLINE + 1), "iso-8859-1")
Datei "/usr/lib/python3.2/socket.py", Zeile 276, in readinto zurückgeben self._sock.recv_into (b)
socket.timeout: Zeitlimit überschritten
Es gab eine große Veränderung gegenüber Python 3, als sie die Module urllib
und urllib2
in urllib
neu organisierten. Ist es möglich, dass es eine Veränderung gab, die das verursacht?
Die Ausnahme ist Timeout von Socket, also
%Vor%sollte die neue Ausnahme erfassen. Obwohl ich nicht sicher bin, ob das deine Frage beantwortet, da ich nicht sicher bin, was deine Frage ist ..