def divide(x, y):
try:
result = x / y
return result
except ZeroDivisionError:
print("division by zero!")
finally:
print("executing finally clause")
return 0
print(divide(2, 1))
try中有retrun,finally中也有renturn
猜猜代码的执行结果是什么?
答案是
executing finally clause
0
Process finished with exit code 0
返回一直在我的脑海里都是直接结束函数执行的,但是在这种情况下,try里即使执行了return,程序还是会执行finally中的代码,并以finally里的返回值返回。
经验总结:
不宜乱写return
本文通过一个具体的Python函数示例,深入探讨了try、except和finally语句块在异常处理中的作用。文章揭示了即便try块中存在return语句,finally块仍会执行并以其内的return语句作为最终返回值这一重要特性。
1981

被折叠的 条评论
为什么被折叠?



