You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python限制函数传入args数量时应使用哪种合适的base error

Python限制*args参数数量的推荐抛出异常类型

最合适的内置基础异常是TypeError。
这个选择完全贴合Python自身的内置行为:当你给普通固定参数的函数传入数量不匹配的参数时,Python解释器原生抛出的就是TypeError,符合所有Python开发者的常规认知,不需要额外做异常说明就能让其他使用者快速理解错误原因。

你可以按照如下方式编写代码:

def func(*args):
    if len(args) == 1:
        # Do one thing
        pass
    elif len(args) == 2:
        # Do another thing
        pass
    else:
        raise TypeError(f"func() takes 1 or 2 positional arguments but {len(args)} were given")

不建议选择ValueError,该异常一般用于参数类型正确但取值不符合要求的场景,和参数数量不匹配的场景不贴合。如果你的项目有统一的自定义异常规范也可以自定义对应异常,否则直接用TypeError是最优选择。

内容的提问来源于stack exchange,提问作者Miguel Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:45:05