无法通过错误处理来处理多个输入
Cannot handle multiple inputs with error handling
背景 -
我正在尝试将一些非常基础的错误处理实现到一个函数中,它接受整数值(实体和视图),用逗号分隔并存储在各自的列表中。
我已经设法使用 try
和 except
错误处理 entities_list
,方法是简单地打印一条错误消息,然后再次调用该函数(考虑到它是第一个用户输入在函数中)。但是,尽管我可以使用 else
来进行到用户的第二个输入/view_list
,但我不确定如何复制相同的错误处理,而不是简单地再次调用该函数,因此用户必须不必要地再次输入entities_list
。
任何hints/tips在其他方块上使用;我知道我的代码有缺陷,我只需要一些方向来研究解决这个问题的地方。
代码-
def user_inputs():
try:
entities_list = [int(x) for x in input("Entities for API Call:\n").split(', ')]
except:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
user_inputs()
else:
views_list = [int(x) for x in input("Views for API Call:\n").split(', ')]
print("Must be comma seperated integer values")
user_inputs()
我能够按如下方式解决我的问题 -
def user_inputs():
while True:
try:
entities_list = [int(x) for x in input("Entities for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
while True:
try:
views_list = [int(x) for x in input("Views for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
user_inputs()
非常感谢所有的意见和建议!
背景 -
我正在尝试将一些非常基础的错误处理实现到一个函数中,它接受整数值(实体和视图),用逗号分隔并存储在各自的列表中。
我已经设法使用 try
和 except
错误处理 entities_list
,方法是简单地打印一条错误消息,然后再次调用该函数(考虑到它是第一个用户输入在函数中)。但是,尽管我可以使用 else
来进行到用户的第二个输入/view_list
,但我不确定如何复制相同的错误处理,而不是简单地再次调用该函数,因此用户必须不必要地再次输入entities_list
。
任何hints/tips在其他方块上使用;我知道我的代码有缺陷,我只需要一些方向来研究解决这个问题的地方。
代码-
def user_inputs():
try:
entities_list = [int(x) for x in input("Entities for API Call:\n").split(', ')]
except:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
user_inputs()
else:
views_list = [int(x) for x in input("Views for API Call:\n").split(', ')]
print("Must be comma seperated integer values")
user_inputs()
我能够按如下方式解决我的问题 -
def user_inputs():
while True:
try:
entities_list = [int(x) for x in input("Entities for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
while True:
try:
views_list = [int(x) for x in input("Views for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
user_inputs()
非常感谢所有的意见和建议!