我有一段代码。为什么异常不能正确捕捉?
import sys
while(True):
print "Enter a number: "
try:
number = int(sys.stdin.readline())
except ValueError:
print "Error! Enter again an integer value"
continue
finally:
print number
break
在这里,我希望当我输入一个非整数,输出应该是
Error! Enter again an integer value
,然后它应该要求输入。但是,这是印刷的信息,但要求进一步的投入。请解释一下,或者我是否认为它是错误的。
如果我处理NameError,那么错误信息甚至没有打印出来,程序正在用回溯调用退出。