第二周
Day 8 - Python 函数基础
Day 9 - 函数进阶用法
Day 10 - 模块与标准库入门
Day 11 - 列表推导式、内置函数进阶、模块封装实战
Day 12 - 字符串处理 & 文件路径操作
Day 13 - 文件操作基础
🎯 今日目标
- 理解异常的概念和常见异常类型
- 掌握 try-except 结构的用法
- 理解 else 和 finally 的作用
- 实战练习:用户输入验证 + 文件读写容错
📘 什么是异常?
异常(Exception)指程序运行过程中出现的错误,常见类型如:
异常类型 | 说明 |
---|---|
ZeroDivisionError | 除以零错误 |
ValueError | 错误的值(如 int(“abc”)) |
FileNotFoundError | 文件不存在 |
TypeError | 类型不匹配的操作 |
🧱 try-except 基本结构
try:
代码块(可能会出错)
except 异常类型:
出错时执行的代码
示例:
try:
num = int(input("请输入一个整数:"))
print("你的输入是:", num)
except ValueError:
print("⚠️ 输入无效,请输入整数!")
🧱 多个 except 捕获不同异常
try:
x = int(input("x: "))
y = int(input("y: "))
print(x / y)
except ValueError:
print("❌ 输入错误,请输入整数。")
except ZeroDivisionError:
print("❌ 除数不能为 0。")
🧱 使用 else 和 finally
try:
f = open("test.txt", 'r', encoding='utf-8')
content = f.read()
except FileNotFoundError:
print("文件不存在。")
else:
print("文件内容:", content)
finally:
print("不管有没有异常,都会执行这段话。")
各部分作用:
语句 | 说明 |
---|---|
try | 主逻辑代码 |
except | 捕获并处理错误 |
else | 如果没出错,执行(可选) |
finally | 无论是否出错,始终执行,如关闭资源 |
🧪 练习任务
练习 1:输入两个数字,输出相除结果,处理输入异常与除零
try:
a = float(input("输入第一个数:"))
b = float(input("输入第二个数:"))
result = a / b
except ValueError:
print("❌ 请输入有效数字!")
except ZeroDivisionError:
print("❌ 不能除以 0!")
else:
print("✅ 结果是:", result)
练习 2:尝试打开文件,如果不存在则提示,并写入默认内容
try:
with open("info.txt", 'r', encoding='utf-8') as f:
print("文件内容:", f.read())
except FileNotFoundError:
print("文件未找到,自动创建文件。")
with open("info.txt", 'w', encoding='utf-8') as f:
f.write("默认内容:Hello Exception!\n")
📌 总结归纳
技能 | 内容说明 |
---|---|
try-except | 用于捕获运行时错误,避免程序崩溃 |
多异常捕获 | 可分别处理不同异常(如 ValueError, ZeroDivisionError) |
else | 无异常时执行(通常用于主逻辑) |
finally | 无论是否出错都会执行,常用于释放资源 |
题外话
以终身学习为目标,先了解自己,再优化自己💪