finally 无论是否异常都执行
最后更新:2026-09-22
finally 无论是否异常都执行
finally 块无论是否发生异常都会执行;常用于释放资源。
| 分类 | 关键字与语句 |
|---|---|
| 类型 | 关键字与语句 |
| Python 版本 | all |
📝 语法
try:
block
finally:
cleanup
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
try
cleanup
🏷️ 相关关键字与语句
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qfinally 里的代码一定会执行吗?
A基本会。即使 try 里写了 return 或抛了异常,finally 也会在退出前执行;唯一例外是进程被强杀、断电或解释器崩溃这类极端情况。
Qfinally 里写 return 会怎样?
Afinally 里的 return 会覆盖 try 块里的 return 值,这是经典陷阱。不要在 finally 里写 return 或抛异常,它只应该做清理工作。
Qfinally 和 with 都能清理资源,怎么选?
A涉及文件、锁、连接等资源管理时优先用 with(更简洁,官方推荐);finally 适合任何必须兜底执行的清理逻辑,例如 finally: conn.close()。