所有文档告诉我们的是,
当用户按下中断键(通常是
Control-C
或Delete
)时引发。在执行期间,会定期检查中断。
但是从代码的角度来看,我什么时候可以看到这个异常?它是否在语句执行期间发生?仅在语句之间?它可以发生在表达式的中间吗?
例如:
file_ = open('foo')
# <-- can a KeyboardInterrupt be raised here, after the successful
# completion of open but prior to the try? -->
try:
# try some things with file_
finally:
# cleanup
这段代码会在适当的时机泄漏KeyboardInterrupt
吗?还是在某些语句或表达式的执行过程中引发?