![](/img/trans.png)
[英]AttributeError: type object '_socketobject' has no attribute 'error'
[英]AttributeError: '_socketobject' object has no attribute 'error'
我正在使用 python 2.7。 在該代碼中,listen_list 是一個包含 UDP 和 TCP 套接字的列表,並且當 TCP 套接字關閉時必須發生錯誤,因為客戶端與服務器斷開連接。 我不知道,因為在程序的其他部分錯誤是可以的,但在這一行中我得到了那個錯誤。
import sys #for exit
import socket #for sockets
import select
listen_list = copy.copy(UDPlist) #list with listening udp sockets
listen_list.append(mySocket) #mySocket is a TCP socket for connect with client
try:
rlist, wlist, elist = select.select(listen_list, [], [], 5)
except socket.error:
print 'Failed. There is some socket that is invalid'
listen_list = delete()
continue
當我運行服務器時,它會一直工作,直到遇到此錯誤
File "server.py", line 67, in <module>
except socket.error:
AttributeError: '_socketobject' object has no attribute 'error'
該_socketobject
是由所指類型socket.socket
。 錯誤消息顯示在代碼中的某處, socket
綁定到socket.socket
一個實例,隱藏了模塊。
>>> import socket
>>> socket = socket.socket() # this happens somewhere in your code
>>> socket.error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: '_socketobject' object has no attribute 'error'
刪除對socket
的分配,例如選擇不同的名稱,以使模塊及其內容可訪問。
>>> import socket
>>> some_socket = socket.socket() # this should be done instead
>>> socket.error
<class 'socket.error'>
如文檔中所述,socket.error 已被棄用,因為 Python 3.3 和 OSError 被引發。
從 Python 3.3 開始,與套接字或地址語義相關的錯誤引發 OSError 或其子類之一(它們曾經引發 socket.error)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.