📖 知识点
try-except-else-finally 完整语法
try:
# 风险代码
except 异常类型:
# 出错执行
else:
# 无异常才执行
finally:
# ✅ 无论是否报错,这里必定执行
执行流程
try 无异常 → try → else → finally
try 捕获异常 → try → except → finally
try 出现未捕获异常 → 抛出错误前,依然会先执行 finally
⚠️ 重点:哪怕代码里面写了
return,finally 依旧会优先执行!
基础示例
try:
num = int(input("输入数字:"))
except ValueError:
print("输入不是数字!")
else:
print(f"你输入的数字是:{num}")
finally:
print("=== 程序收尾,这段永远执行 ===")⚔️ Kata 实战任务
任务需求:
字典
book = {"name":"Python入门","price":59}try:接收用户输入 key,读取字典的值
except 捕获 KeyError,打印:
异常:找不到该键else:打印
查询成功,对应值:xxxfinally:固定打印
>>> 本次查询操作结束测试两组输入:
name、author
参考代码
book = {"name":"Python入门","price":59}
try:
key = input("请输入要查询的key:")
value = book[key]
except KeyError:
print("异常:找不到该键")
else:
print(f"查询成功,对应值:{value}")
finally:
print(">>> 本次查询操作结束")测试示例 1:输入name
请输入要查询的key:name
查询成功,对应值:Python入门
>>> 本次查询操作结束测试示例 2:输入author
请输入要查询的key:author
异常:找不到该键
>>> 本次查询操作结束🧠 思考题
finally 适合用来做什么场景?举一个生活 / 代码例子。
如果 try 内部执行
return提前退出函数,finally 还会执行吗?