考虑:
def raiseMe( text="Test error" ):
raise Exception( text )
def break_in_finally_test():
for i in range(5):
if i==2:
try:
raiseMe()
except:
raise
else:
print "succeeded!"
finally:
print "testing this!"
break
if __name__=='__main__':
break_in_finally_test()
Run Code Online (Sandbox Code Playgroud)
我希望看到Exception( "Test error" )被提升,但只打印"测试这个".当然,目的是raiseMe()只召唤一次,无论我们是否成功 - 但如果它引起异常,我本来想看到它!
为什么break会吞下我明确提出的异常?
python ×1