使用ldap在python中处理错误
我在下面有一段代码,它是我一直在编写的python脚本的一部分(将它作为学习曲线一次拼接在一起)。此位绑定到ldap目录以进行查询,因此脚本的其余部分可以连接到查询。 成功后,它将在块中打印以下消息。如果不成功,它将抛出一个错误——或者至少我想控制错误 如果im未绑定域/vpn,它将抛出以下消息:使用ldap在python中处理错误,python,error-handling,ldap,Python,Error Handling,Ldap,我在下面有一段代码,它是我一直在编写的python脚本的一部分(将它作为学习曲线一次拼接在一起)。此位绑定到ldap目录以进行查询,因此脚本的其余部分可以连接到查询。 成功后,它将在块中打印以下消息。如果不成功,它将抛出一个错误——或者至少我想控制错误 如果im未绑定域/vpn,它将抛出以下消息: {'desc': "Can't contact LDAP server"} 如果凭据不正确: Invalid credentials 在我的脚本中,没有为错误消息定义它,我如何才能找到它在哪里获取
{'desc': "Can't contact LDAP server"}
如果凭据不正确:
Invalid credentials
在我的脚本中,没有为错误消息定义它,我如何才能找到它在哪里获取打印该消息的内容,并可能创建或自定义它?
(为了它的价值,我正在使用PyCharm)
谢谢您可以这样做,为特定异常提供特定消息
try:
foo = 'hi'
bar = 'hello'
#do stuff
except ValueError:
raise ValueError("invalid credientials: {},{}".format(foo, bar))
因此,在你的例子中,它可能成为
except ldap.LDAPError:
raise ldap.LDAPError("invalid credientials: {},{}".format(user, pwd))
或者如果你真的想把它打印出来
except ldap.LDAPError:
print("invalid credientials: {},{}".format(user, pwd))
我明白了,所以当前它在哪里获取当前错误消息
{'desc':“无法联系LDAP服务器”}
,因为我还没有定义它?@Xtos-是,这似乎是已解除的错误消息,一个包含描述的dict
。看见
except ldap.LDAPError:
print("invalid credientials: {},{}".format(user, pwd))