с использованием python 2.6.5 и python-ldap 2.3.10 У меня есть следующая проблема: При определенных обстоятельствах мое приложение вызывает ldap.LDAPError, а точнее, Ошибка ldap.INVALID_SYNTAX. Я поймаю эту ошибку и хочу обработать прикрепленное к ней сообщение. Теперь я могу сделать что-то вроде этого:объект python ldap.LDAPError отклоняет доступ к словарю
try:
some_ldap_function(*args,connection=con,**kwargs)
except ldap.INVALID_SYNTAX,e:
print e
Это даст мне
{'info': 'feeClass: value #0 invalid per syntax', 'desc': 'Invalid syntax'}
Теперь это dictrionary, и, насколько я понимаю, я должен быть в состоянии сделать что-то вроде
print e['info']
который нет в таком случае. Вместо этого я получаю код TypeError Exception: индекс последовательности должен быть целым, а не 'str'
Что здесь не так?
Круто. Поэтому, чтобы получить то, что я хочу, мне нужно всего лишь распечатать e.args [0] ['info'] – Isaac
Я вижу: по-видимому, они действительно помещают словарь в аргумент исключения. Это отклоняется от соглашения, которое утверждает, что [0] должно быть строкой. –