我在哪里可以找到Python内置函数引发的异常?

Bri*_*uez 3 python exception-handling exception

我正在写一个装饰器来验证一些功能.我尝试尽可能地使用内置函数来完成繁重的工作,但是我一直在坚持选择使用它时应该捕获的异常.

例如:

def Validated(fun):
    def ValidatedFun(*args, **kwargs):
        try:
            _ = dict(kwargs.get('untrusted_data', ()))
        except ? as e:
            raise BetterError('Additional relevant info') from e
        return fun(*args, **kwargs)
    return ValidatedFun
Run Code Online (Sandbox Code Playgroud)

我想知道:

  • dict(以及其他内置插件)明确提出的最常见的异常是什么?
  • 我在哪里可以找到列出它们的文档?(它们不在 https://docs.python.org/上)

Mar*_*ers 6

所有Python标准类型都遵循一些默认异常的约定.记录了异常的行为,而不是类型.

因为dict,例外是TypeErrorValueError.此时可以引发其他异常,但这些异常不依赖于输入(MemoryErrorKeyboardInterrupt).

TypeError表示不支持传入的对象类型; 该dict文件类型会被接受什么文件(映射或迭代对象),其他一切都是原因引发异常.接受的类型必须符合某些期望; 如果不满足,ValueError则引发a(正确的类型,但值是错误的).