【发布时间】:2021-12-05 06:22:45
【问题描述】:
谁能解释一下-
def f():
try:
print('A', end=' ')
raise ArithmeticError
except:
print('B', end=' ')
raise AssertionError
finally:
print('C', end=' ')
return
和
def f():
try:
print('A', end=' ')
raise ArithmeticError
except:
print('B', end=' ')
raise AssertionError
finally:
print('C', end=' ')
return
第一个代码块不会引发任何异常并打印“A B C”,而第二个代码块会引发两个异常并打印“A B C”。
【问题讨论】:
-
这能回答你的问题吗? Python try finally block returns
-
@AppleBS - 好吧,我明白 finally 是如何工作的,但我仍然不明白为什么在第一种情况下我没有看到任何异常
标签: python-3.x try-except