2017-06-15 40 views
0

我在Python腳本2.7擦傷網站每一分鐘,但有時也給出了錯誤:的Python HOWTO例外句柄<的urlopen錯誤[錯誤54]通過對等連接重置>

的urlopen錯誤[錯誤54]連接由復位同行>

我如何處理異常?我想是這樣的:

from socket import error as SocketError 
import errno 

try: 
    response = urllib2.urlopen(request).read() 
except SocketError as e: 
    if e.errno != errno.ECONNRESET: 
     print "there is a time-out" 
    pass 
     print "There is no time-out, continue" 

回答

1

您可以處理這樣的例外:

from socket import error as SocketError 
import errno  

try: 
    urllib2.urlopen(request).read() 
except SocketError, e: 
    errorcode = e[0] 
    if errorcode!=errno.ECONNREFUSED: 
     print "There is a time-out" 
     # Not the error we are looking for, re-raise 
     raise e 

您可以閱讀Error Code

+0

我有導入您的代碼到我的劇本和一個半小時後我收到錯誤:SocketError除外,e:NameError:名稱'SocketError'未定義。 –

+0

將此行從套接字導入錯誤添加爲errno上的SocketError。 –

+0

我更換了除SocketError之外的東西,e:除了socket.error之外,因爲e:如果它能正常工作,我會試試這個。感謝您的幫助 –

相關問題