我有一段代碼。爲什麼異常不能正確捕捉?
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,那麼錯誤信息甚至沒有打印出來,程序正在用回溯調用退出。