我可以确定一个函数会因键入而引发什么错误吗?

Can I determine what errors a function will raise from typing?

假设我有以下功能:

def foo(integer: int) -> int:
    if integer < 0:
        raise ValueError("The integer must be positive")

    return integer * 2

如果我查看此函数的签名,它只会告诉我它需要一个 int 和 returns 一个 int

但是,如果知道它也有机会筹集 ValueError 以防我需要抓住它,那就太好了。

有什么方法可以将函数引发的错误放入类型中,或者这只是应该放入文档字符串中的内容吗?

很遗憾,没有。文档字符串将是一个很好的做法。

另外: