套接字超时被捕获为OSError

时间:2017-06-21 10:11:02

标签: 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 out

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

这里有什么好处?

PS。我无法轻松地向pre-prod环境发布代码更新以添加更多日志......

[edit]在Python 3.4.2上运行

0 个答案:

没有答案