我有一个要终止的循环KeyboardInterrupt
:
while True:
try:
do_stuff()
except KeyboardInterrupt:
cleanup()
break
except Exception as e:
cleanup()
raise e
这很好用,但cleanup()
对我来说双重似乎很不干净。我不喜欢重复的代码。我尝试使用上下文管理器,但这引入了很多不必要的复杂性,并且文件大小几乎翻了一番。
有没有更简洁的方式来表达我的意图?