使用ldap在python中处理错误

使用ldap在python中处理错误,python,error-handling,ldap,Python,Error Handling,Ldap,我在下面有一段代码,它是我一直在编写的python脚本的一部分(将它作为学习曲线一次拼接在一起)。此位绑定到ldap目录以进行查询,因此脚本的其余部分可以连接到查询。 成功后,它将在块中打印以下消息。如果不成功,它将抛出一个错误——或者至少我想控制错误 如果im未绑定域/vpn,它将抛出以下消息: {'desc': "Can't contact LDAP server"} 如果凭据不正确: Invalid credentials 在我的脚本中,没有为错误消息定义它,我如何才能找到它在哪里获取

我在下面有一段代码,它是我一直在编写的python脚本的一部分(将它作为学习曲线一次拼接在一起)。此位绑定到ldap目录以进行查询,因此脚本的其余部分可以连接到查询。 成功后,它将在块中打印以下消息。如果不成功,它将抛出一个错误——或者至少我想控制错误

如果im未绑定域/vpn,它将抛出以下消息:

{'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))