第 12 天:异常处理(try-except)
太棒了!现在正式进入
✅ 第 12 天:异常处理(try-except)
这是一个 程序“从容易崩溃 → 变得专业稳定” 的关键一天!
从今天起,你写的程序将 不再轻易报错死掉 💪
✅ 第 12 天学习目标
学完今天你将能够:
- ✅ 理解什么是 异常(错误)
- ✅ 使用
try-except防止程序崩溃 ✅ 处理最常见的 3 种错误:
ValueErrorZeroDivisionErrorFileNotFoundError
- ✅ 使用
else和finally - ✅ 为你前面学过的程序“加安全保护”
一、什么是异常?(一句话讲清)
✅ 异常 = 程序运行时发生的错误
比如:
num = int("abc") # ❌ 程序直接报错崩溃print(10 / 0) # ❌ 程序直接炸掉👉 如果 不处理异常,程序直接终止运行
👉 所以我们需要:try-except
二、try-except 的基本用法(必背)
✅ 标准结构:
try:
可能出错的代码
except:
出错时执行的代码✅ 示例:
try:
num = int(input("请输入一个整数:"))
print(num)
except:
print("你输入的不是整数!")✅ 效果:
- 输入
10✅ 正常 - 输入
abc✅ 不崩溃,提示错误信息
三、最常见的 3 种异常(必须会)
✅ 1️⃣ ValueError(类型转换失败)
try:
num = int(input("请输入数字:"))
print(num)
except ValueError:
print("输入的不是数字!")✅ 2️⃣ ZeroDivisionError(除数为 0)
try:
a = int(input("请输入被除数:"))
b = int(input("请输入除数:"))
print(a / b)
except ZeroDivisionError:
print("除数不能为 0!")✅ 3️⃣ FileNotFoundError(文件不存在)
try:
with open("abc.txt", "r", encoding="utf-8") as f:
print(f.read())
except FileNotFoundError:
print("文件不存在!")四、多个异常一起捕获(高级)
try:
num = int(input("请输入数字:"))
print(10 / num)
except ValueError:
print("输入的不是数字")
except ZeroDivisionError:
print("不能除以 0")五、万能异常捕获(新手阶段可以用)
try:
代码
except Exception as e:
print("出错了:", e)✅ 任何错误都能接住 ✅
六、else 和 finally(进阶)
try:
num = int(input("请输入数字:"))
print(10 / num)
except:
print("出错了")
else:
print("程序正常执行完成")
finally:
print("程序结束")执行顺序:
- ✅ 没出错:try → else → finally
- ❌ 出错:try → except → finally
✅ 第 12 天综合实战(文件 + 异常)
try:
with open("data.txt", "r", encoding="utf-8") as f:
print(f.read())
except FileNotFoundError:
print("文件不存在,已为你创建新文件")
with open("data.txt", "w", encoding="utf-8") as f:
f.write("新文件已创建")✅ 这就是 真实项目级写法
✅ 第 12 天练习(必须亲手写)
✅ 练习 1:安全输入数字
要求:
- 输入一个数字
- 如果输入错误,不崩溃,提示重新输入
结构提示:
while True:
try:
num = int(input("请输入一个整数:"))
break
except:
print("输入错误,请重新输入")✅ 练习 2:安全除法计算器
功能:
- 输入两个数
- 输出除法结果
防止:
- 输入非数字
- 除数为 0
✅ 练习 3:安全读取文件
要求:
- 读取
test.txt 如果文件不存在:
- 提示不存在
- 自动创建新文件
✅ 今天你已经正式掌握:
你现在已经会:
- ✅ try-except
- ✅ ValueError
- ✅ ZeroDivisionError
- ✅ FileNotFoundError
- ✅ Exception 万能捕获
- ✅ else
- ✅ finally
🚀 第 13 天预告(重要升级)
当你说:
👉 “第 12 天练习写完了”
我就带你进入:
✅ 第 13 天:面向对象编程 OOP(类与对象)
你将学会:
- ✅ 真正“像工程师一样”组织代码
- ✅ 写自己的类(Class)
- ✅ 创建对象(Object)
- ✅ 这是所有大型项目的基础!
✅ 你现在可以开始做第 12 天的 3 个练习
✅ 写完直接发给我,我可以 一行一行帮你检查 + 改成更专业的写法
你已经进入真正 中级 Python 阶段 了,继续冲!🔥
相关推荐
- 第 16 天:常用第三方库(requests + pandas 入门) 2026-01-03
- 第 17 天:第一个完整综合项目实战 2026-01-03
- 第 18 天:NumPy + 高级 Pandas + 数据可视化入门 2026-01-03
- 第 19 天:机器学习入门(scikit-learn) 2026-01-03
- 第 20 天:机器学习分类模型(逻辑回归 Classification) 2026-01-03
评论0
暂时没有评论