为什么不像以下代码一样捕获CTRL-C?
MAXVAL = 10000
STEP_INTERVAL = 10
for i in range(1, MAXVAL, STEP_INTERVAL):
try:
print str(i)
except KeyboardInterrupt:
break
print "done"
Run Code Online (Sandbox Code Playgroud)
我的期望是 - 如果在程序运行时按下CTRL-C,KeyboardInterrupt
则应该离开循环.它不是.
对我做错的任何帮助?
nos*_*klo 14
代码流程如下:
for
从列表中获取新对象(由...生成range
)并设置i
为它try
print
1
如果在第1部分中按CTRL-C,它就在try
/ 之外except
,因此它不会捕获异常.
试试这个:
MaxVal = 10000
StepInterval = 10
try:
for i in range(1, MaxVal, StepInterval):
print i
except KeyboardInterrupt:
pass
print "done"
Run Code Online (Sandbox Code Playgroud)