在Python中重写socket.error
是否可以覆盖套接字错误 以下是到目前为止我得到的信息:在Python中重写socket.error,python,sockets,error-handling,Python,Sockets,Error Handling,是否可以覆盖套接字错误 以下是到目前为止我得到的信息: class SocketError(socket.error): def __init__(self, message , error): super(SocketError , self).__init__(message) self.message = message self.error = error 测试 以下是测试版本: host = "127.0.0.1" por
class SocketError(socket.error):
def __init__(self, message , error):
super(SocketError , self).__init__(message)
self.message = message
self.error = error
测试
以下是测试版本:
host = "127.0.0.1"
port = 80
address = (host ,port)
server = socket.socket(2 , 1)
try:
server.bind(address)
except SocketError:
print SocketError.message
未经许可运行它会引发错误13:权限错误。取决于您所说的“覆盖”是什么意思,以及您为什么要这样做。虽然您可能可以这样做,但这可能不是一个好主意。@user235712添加了一些新功能。。。让它更面向对象和其他东西。这听起来像是一种重新设计,你真的不应该试图应用到其他人的代码。您是否试图为其构造函数提供额外的参数?构造此异常的代码如何知道向其传递更多参数?@user235172假设我希望一次创建并传递10个套接字,每个套接字的编号从1到10,其中一个会引发错误。我想将其编号传递给错误,比如:SocketError:[Errno 13]权限被拒绝| Socket 8是的,这不会发生。您可能可以使用自定义套接字包装器或子类来完成这项工作,但我建议您使用其他方法来跟踪这些信息,这取决于您所说的“覆盖”是什么意思,以及您为什么要这样做。虽然您可能可以这样做,但这可能不是一个好主意。@user235712添加了一些新功能。。。让它更面向对象和其他东西。这听起来像是一种重新设计,你真的不应该试图应用到其他人的代码。您是否试图为其构造函数提供额外的参数?构造此异常的代码如何知道向其传递更多参数?@user235172假设我希望一次创建并传递10个套接字,每个套接字的编号从1到10,其中一个会引发错误。我想将其编号传递给错误,比如:SocketError:[Errno 13]权限被拒绝| Socket 8是的,这不会发生。您可能可以使用自定义套接字包装器或子类来完成这项工作,但我建议您使用其他方法来跟踪这些信息。