Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中重写socket.error_Python_Sockets_Error Handling - Fatal编程技术网

在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是的,这不会发生。您可能可以使用自定义套接字包装器或子类来完成这项工作,但我建议您使用其他方法来跟踪这些信息。