我想弄清楚为什么在出现错误时 continue 不起作用:
while True:
a = int(raw_input('Type integer with 9 numbers '))
if len(str(a)) < 9 or len(str(a)) >9:
raise NameError('Wrong Number. Try again...')
continue
if not istance(a, int):
raise ValueError("Oops! That was no valid number. Try again...")
continue
else:
print a
break
你能指出我的错误吗?
最佳答案
尝试 print '错误号码。再试一次...'
而不是 raise
。
raise
将触发一个异常,这基本上意味着您的程序在到达指令时被中断,异常会向上传播到调用堆栈,直到它被 try.. .except
语句。
您在这里似乎实现的是显示错误消息给用户,因为输入不正确。为此,只需使用 print
语句即可。
关于python - 为什么在引发错误时继续不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39432543/