我有一些代码如下,我正在尝试连接一个不存在的服务器来测试超时。在120秒之后,程序退出代码5.以及更多,我从局域网断开连接以测试connect_error,它再次退出代码5。为什么ldap.SERVER_DOWN会捕获所有异常?我该如何测试其他例外?
try:
....
l.simple_bind_s(user, password)
except ldap.CONNECT_ERROR, e:
sys.exit(1)
except ldap.BUSY, e:
sys.exit(2)
except ldap.OPT_NETWORK_TIMEOUT, e:
sys.exit(3)
except ldap.TIMEOUT, e:
sys.exit(4)
except ldap.SERVER_DOWN, e:
sys.exit(5)
答案 0 :(得分:1)
基于python-ldap源,看起来只有NonblockingLDAPObject
可以引发异常ldap.TIMEOUT
。您不应该为SimpleLDAPObject
处理它。
答案 1 :(得分:0)
要测试BUSY,您可以绑定到正常工作的LDAP服务器,然后不要关闭(取消绑定)连接。当您再次尝试连接时,服务器应该抛出BUSY错误。