我想我清楚地理解了异常处理,而循环和条件语句。但我遇到了一个简单的问题,即我的代码执行从未到达except语句。你知道吗
我使代码尽可能简单地指出问题所在。 所以代码要求按“1”。只有这样它才能跳出while循环。其他的都应该例外。字符,例如“a”和“b”,因为它们不能转换为整数。但任何其他数字都不会触发异常。它只是回到输入步骤。为什么会这样?显然,除1以外的任何其他数字都不等于1。你知道吗
while True:
click = input('Press 1')
try:
if int(click) == 1:
print('correct')
break
except:
print('wrong')
except
仅当抛出异常时才到达。可以强制代码在int(click) != 1
时抛出ValueError
。下面的内容应该能帮到你。你知道吗只有出现错误时,代码才会进入异常。如果输入非数字字符,则会发生这种情况。但如果输入除1以外的任何数字,则不会出现错误,因此控件不会移到异常。如果person使用
raise
关键字输入1以外的数字,则可以创建一个错误。你知道吗您混淆了两件事:引发异常和处理引发的异常。你知道吗
你要做的是:
然后可以使用try/except语句处理引发的异常,如下所示:
详见https://docs.python.org/2/tutorial/errors.html
相关问题 更多 >
编程相关推荐