gpt4 book ai didi

python - 如果传递给 **kwargs 的参数数量错误,会引发什么异常?

转载 作者:太空狗 更新时间:2023-10-29 18:14:17 24 4
gpt4 key购买 nike

假设在 python 中,您有一个例程接受三个命名参数(如 **kwargs),但是必须填写这三个中的任意两个。如果只填写一个,则为错误。如果三个都是,那就是一个错误。你会提出什么样的错误? RuntimeError,一个专门创建的异常,还是其他?

最佳答案

请记住,您可以子类化 Python 的内置异常类(并且 TypeError 肯定是要在此处引发的正确内置异常类——如果参数数量不是匹配签名,一般情况下签名中没有*a**k形式)。我喜欢让每个包定义自己的 class Error(Exception),然后根据需要特定的异常可以适本地多重继承,例如:

class WrongNumberOfArguments(thispackage.Error, TypeError):

然后,当我检测到这种问题情况时,我会引发 WrongNumberOfArguments

这样,任何知道这个包的调用者都可以捕获 thispackage.Error,如果他们需要处理任何特定于包的错误,而其他调用者(可能在调用链中更高) ) 调用仍然捕获更通用的 TypeError 来处理任何错误,例如“函数调用中使用的参数数量错误”。

关于python - 如果传递给 **kwargs 的参数数量错误,会引发什么异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1964126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com