Python 在passlib中捕获InvalidHashError时出错

Python 在passlib中捕获InvalidHashError时出错,python,exception,inheritance,exception-handling,Python,Exception,Inheritance,Exception Handling,我基本上有以下内容(使用昨天与pip一起新安装的passlib): 我得到以下错误 TypeError:不允许捕获不从BaseException继承的类 我看到的唯一可能的问题是,InvalidHashError不会直接从任何东西继承,但它确实返回了ValueError,它继承自Exception,它继承自BaseException def InvalidHashError(handler=None): "error raised if unrecognized hash provide

我基本上有以下内容(使用昨天与pip一起新安装的passlib):

我得到以下错误

TypeError:不允许捕获不从BaseException继承的类

我看到的唯一可能的问题是,
InvalidHashError
不会直接从任何东西继承,但它确实返回了
ValueError
,它继承自
Exception
,它继承自
BaseException

def InvalidHashError(handler=None):
    "error raised if unrecognized hash provided to handler"
    return ValueError("not a valid %s hash" % _get_name(handler))

我错过什么了吗?如何捕获InvalidHashError?

InvalidHashError
显然是一个函数。需要捕获
ValueError
。e、 g

try:
    return pbkdf2_sha256.verify(password, 'asdfadsfsad')
except ValueError:
    return False
我仍然不知道如何在不解析文本的情况下判断这是由
InvalidHashError
生成的ValueError。请随意编辑或添加更完整的答案

try:
    return pbkdf2_sha256.verify(password, 'asdfadsfsad')
except ValueError:
    return False