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 套接字超时被捕获为操作错误_Python_Sockets_Ping - Fatal编程技术网

Python 套接字超时被捕获为操作错误

Python 套接字超时被捕获为操作错误,python,sockets,ping,Python,Sockets,Ping,我有一些这样的代码: try: socket.create_connection((fqdn, 80), timeout=TIMEOUT).close() except socket.timeout as e: print('Error timeout: %s' % e) except OSError as e: print('Error other: %s' % e) 在本地计算机上运行时,如果设置会生成超时,我会将预期的输出Error timeout:timed o

我有一些这样的代码:

try:
    socket.create_connection((fqdn, 80), timeout=TIMEOUT).close()
except socket.timeout as e:
    print('Error timeout: %s' % e)
except OSError as e:
    print('Error other: %s' % e)
在本地计算机上运行时,如果设置会生成超时,我会将预期的输出
Error timeout:timed out
发送到控制台

当在我们的pre-prod环境中运行相同的代码时,输出为
Error other:timed out
,这意味着抛出的错误不是
socket.timeout
,而是消息
timed out

这里发生了什么

顺便说一句,我不能轻易地将代码更新发布到pre-prod环境以添加更多日志


[编辑]在Python 3.4.2上运行,如果有一个实际的异常堆栈回溯,将非常有用。这是哪个版本的python?python 3.4.2。是的,很遗憾我没有。下面是一个stacktrace示例:
文件/usr/lib/python3.7/socket.py”,第727行,在create_connection raiser err File/usr/lib/python3.7/socket.py中,在create_connection sock.connect(sa)OSError:[Errno 113]没有到主机的路由,
James,上面的例子是Python3.7.3,如果有一个实际的异常堆栈回溯,将非常有用。这是哪个版本的python?python 3.4.2。是的,很遗憾我没有。下面是一个stacktrace示例:
文件/usr/lib/python3.7/socket.py”,第727行,在create_connection raiser err File/usr/lib/python3.7/socket.py中,在create_connection sock.connect(sa)OSError:[Errno 113]没有到主机的路由,
James,上面的示例是使用Python 3.7.3的