当前位置: 首页 > article >正文

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无论是否出错都会执行,常用于释放资源

题外话

以终身学习为目标,先了解自己,再优化自己💪
在这里插入图片描述

http://www.lryc.cn/news/2399342.html

相关文章:

  • 使用jstack排查CPU飙升的问题记录
  • cursor如何开启自动运行模式
  • SecureCRT 设置超时自动断开连接时长
  • 《复制粘贴的奇迹:原型模式》
  • IEC 61347-1:2015 灯控制装置安全标准详解
  • Ansys Zemax | 手机镜头设计 - 第 4 部分:用 LS-DYNA 进行冲击性能分析
  • [蓝桥杯]实现选择排序
  • [蓝桥杯]卡片换位
  • 【论文笔记】High-Resolution Representations for Labeling Pixels and Regions
  • 【题解-洛谷】P9422 [蓝桥杯 2023 国 B] 合并数列
  • 在MATLAB中,`mean(P_train, 2)` 的含义
  • 开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B(一)
  • 109页PPT华为流程模块L1-L4级梳理及研发采购服务资产5级建模
  • 第N1周:one-hot编码案例
  • Windows安装docker desktop
  • Ros(俩不同包的节点 交流 topic message)
  • 李沐《动手学深度学习》 | 数值稳定性
  • OpenCV CUDA模块图像处理------图像连通域标记接口函数connectedComponents()
  • Android Studio 打包时遇到了签名报错问题:Invalid keystore format
  • 内存管理【Linux操作系统】
  • Go语言学习-->从零开始搭建环境
  • 【力扣】3403. 从盒子中找出字典序最大的字符串 I
  • 苹果企业签名撤销
  • 12306高并发计算架构揭秘:Apache Geode 客户端接入与实践
  • JSON to Excel 3.0.0 版本发布 - 从Excel插件到Web应用的转变
  • 【前端】Vue3+elementui+ts,给标签设置样式属性style时,提示type check failed for prop,再次请出DeepSeek来解答
  • Neo4j 监控全解析:原理、技术、技巧与最佳实践
  • PyTorch——优化器(9)
  • 07 APP 自动化- appium+pytest+allure框架封装
  • Postgresql常规SQL语句操作