一、引言
else 和 finally 让异常处理更完整!我们再详细讲讲!
💡 else 块在没异常时执行,finally 块总是执行!
二、else 子句详解
try:
num = int(input("请输入整数:"))
result = 100 / num
except ValueError:
print("输入不是整数!")
except ZeroDivisionError:
print("不能除以零!")
else:
print(f"计算成功!100 / {num} = {result}")
print("(else 块只在 try 块完全没问题时才执行)")
三、finally 子句详解
f = None
try:
f = open("test.txt", "r", encoding="utf-8")
content = f.read()
print(content)
except FileNotFoundError:
print("文件不存在!")
finally:
if f is not None:
f.close() # 不管有没有异常,都要关闭文件!
print("(finally 块总是会执行,无论是否出错)")
# 当然,更好的方式是用 with!
print("\n--- 用 with 更优雅 ---")
try:
with open("test.txt", "r", encoding="utf-8") as f:
print(f.read())
except FileNotFoundError:
print("文件不存在!")
总结
通过本章学习,你应该已经掌握了「else 与 finally 语句的用法」的相关知识。
下一篇是最后一篇!