我有一些像下面的代碼,我試圖連接一個不存在的服務器來測試超時。 120秒後,程序退出代碼5.等等,我斷開lan以測試connect_error,並再次以代碼5退出。爲什麼所有異常都被ldap.SERVER_DOWN捕獲?我如何測試其他異常?爲什麼所有異常都被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)
什麼是e?我認爲它應該有'as'關鍵字,如果它是異常對象 –
@Darhazer:'as'和','[同義詞](http://docs.python.org/reference/compound_stmts.html#except),但'as'是Python 2.6的新增功能。 –
此外,逗號在Python 3中消失,必須使用'as'。請參閱PEP 3110 http://www.python.org/dev/peps/pep-3110/。 –