我正在尝试为异常创建一个泛型类型,以发送到方法。这就是我目前所拥有的:
TE = TypeVar("TE", bound=Exception)
我会这样注释这个论点:
exc_type: Type[TE] = ValueError
但是,当我这样做时,mypy 给了我一个错误:
参数“exc_type”的默认值不兼容(默认值的类型为“Type[ValueError]”,参数的类型为“Type[TE]”)
在我看来,这没有意义,因为
ValueError
应该是 TE
。那么,为什么 mypy 在这里不同意以及如何使这个注释起作用?