我想在函数内部处理TypeError而不是在函数之外。有可能吗?当我忘记args而不是程序失败时,我需要得到一条消息
def numbers(a, b):
print(a + b)
numbers()
>>>TypeError: numbers() missing 2 required positional arguments: 'a' and 'b'
try:
numbers()
except TypeError:
print("ARGS")
解决方案:
def numbers(*args):
try:
if len(args) == 2:
a = args[0]
b = args[1]
print(a + b)
elif len(args) > 2:
print("Max args: 2")
else:
print("Add 2 args")
except Exception as e:
print(e)
答案 0 :(得分:0)
您可以重构它以更简洁的方式处理参数:
def numbers(a=None, b=None):
if a==None or b==None:
return "Not enough arguments, two requried"
print(a + b)
numbers()