0

当我在函数中给出错误数量的参数时,我会得到错误。我该如何处理?

我给了

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

    except TypeError:
        print 'Wrong no of arg'

它不工作。

请帮忙。

4

4 回答 4

4

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

如果您希望接收函数显式检查参数计数,则需要使用可变参数:

def fun_name(*args):
  if len(args) != 2:
    raise TypeError('Two arguments required')
于 2009-01-19T06:13:08.320 回答
4

您需要在调用函数的地方处理它。

try:
  fun_name(...)
except TypeError:
  print "error!"
于 2009-01-19T06:13:24.390 回答
0

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

  • 要么你设计你的函数来处理任意数量的参数。然后你应该知道如何处理额外的参数。亚历克托马斯的回答告诉你如何处理这个案子。
  • 或者你的设计存在根本缺陷,你陷入了大麻烦。在这种情况下,捕捉错误无济于事。
于 2009-01-19T09:38:55.583 回答
-2

如果您删除这些try...catch部分,它应该向您显示它抛出了什么样的异常。

于 2009-01-19T06:13:01.660 回答