else 和 finally

32.3 else 和 finally

没异常执行 else;无论如何执行 finally。

本节介绍「else 和 finally」的用法与注意点,请结合下方代码示例理解。

建议:先读懂注释,再自己动手修改数字或文字,观察输出变化。

💡 遇到报错先看最后一行英文提示,再对照「常见错误与正确对比」。

完整结构

以下代码含详细中文注释,可直接复制运行。建议对照输出理解每一行的作用。

# ========================================
# 示例:完整结构
# 说明:建议复制到 .py 文件运行,或粘贴到 Python 交互模式
# ========================================
try:  # 尝试执行,出错可捕获
    f = open('a.txt')
    data = f.read()
except FileNotFoundError:  # 捕获指定类型的异常
    print('文件不存在')
else:  # 以上条件都不成立时执行
    print('读取成功')
finally:  # 无论是否出错都会执行
    print('清理完成')