6个月Python学习计划 Day 14 - 异常处理基础( 补充学习)
第二周
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 | 无论是否出错都会执行,常用于释放资源 |
题外话
以终身学习为目标,先了解自己,再优化自己💪