如何处理在Python中的函数调用中给出错误数量的参数时发生的错误?
问题描述:
当我给一个函数的参数数量错误时,我得到错误。 我该如何处理?如何处理在Python中的函数调用中给出错误数量的参数时发生的错误?
我给
def fun_name(...):
try:
...
except TypeError:
print 'Wrong no of arg'
这是行不通的。
请帮忙。
答
调用者触发此异常,而不是接收者。
如果你想接收功能明确检查参数的数量,您需要使用可变参数:
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!"
答
如果调用了错误数量的参数的函数,则有两种可能性:
- 要么你设计你的函数来处理的参数任意数量。那么你应该知道如何处理额外的参数。亚历克托马斯的答案告诉你如何处理这个案件。
- 或者你的设计有根本性的缺陷,而且你陷入了困境。在这种情况下捕获错误不起作用。
为什么你用错误的参数数调用该函数?我在这里闻到一些有趣的东西。 – hop 2009-01-19 06:59:44