![](/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.