如何处理在Python中的函数调用中给出错误数量的参数时发生的错误?

问题描述:

当我给一个函数的参数数量错误时,我得到错误。 我该如何处理?如何处理在Python中的函数调用中给出错误数量的参数时发生的错误?

我给

def fun_name(...): 
    try: 
     ... 

    except TypeError: 
     print 'Wrong no of arg' 

这是行不通的。

请帮忙。

+0

为什么你用错误的参数数调用该函数?我在这里闻到一些有趣的东西。 – hop 2009-01-19 06:59:44

调用者触发此异常,而不是接收者。

如果你想接收功能明确检查参数的数量,您需要使用可变参数:

def fun_name(*args): 
    if len(args) != 2: 
    raise TypeError('Two arguments required') 
+0

谢谢亚历克。 我是新来的Python ....所以请回答这个问题。如果我想使用fun_name中的args值,比如说调用另一个函数,我该怎么做? – user46646 2009-01-19 07:39:38

如果您删除了try...catch零件,它应该会显示它正在抛出什么样的异常。

你需要一个调用函数来处理它。

try: 
    fun_name(...) 
except TypeError: 
    print "error!" 

如果调用了错误数量的参数的函数,则有两种可能性:

  • 要么你设计你的函数来处理的参数任意数量。那么你应该知道如何处理额外的参数。亚历克托马斯的答案告诉你如何处理这个案件。
  • 或者你的设计有根本​​性的缺陷,而且你陷入了困境。在这种情况下捕获错误不起作用。