Python try try最终阻止返回值

Python try try最终阻止返回值,第1张

Python try try最终阻止返回值

从Python文档

无论是否发生异常,finally子句始终在离开try语句之前执行。如果try子句中发生了异常且未由except子句处理(或在except或else子句中发生),则在执行finally子句后重新引发该异常。
当try语句的任何其他子句通过break,continue或return语句留下时 ,finally子句 也将“在输出中”执行
。一个更复杂的示例(在同一try语句中具有except和finally子句从Python 2.5开始有效):

因此,一旦将try / except块保留为 return ,这会将返回值设置为给定值-最终块将 始终
执行,并且应用于释放资源等,而在此使用另一种return会覆盖原始值。

在您的特殊情况下,

func1()
return
2
func2()
return
3
,因为这些是在finally块中返回的值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存