在函数内部处理TypeError

时间:2019-12-02 19:58:37

标签: python python-3.x

我想在函数内部处理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)

1 个答案:

答案 0 :(得分:0)

您可以重构它以更简洁的方式处理参数:

def numbers(a=None, b=None): 
   if a==None or b==None: 
      return "Not enough arguments, two requried" 
   print(a + b) 

numbers() 
相关问题