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

python打卡day25@浙大疏锦行

知识点回顾:

1.异常处理机制
2.debug过程中的各类报错
3.try-except机制
4.try-except-else-finally机制
在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。

作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。

一、异常处理机制

try:result = 10 / 0
except ZeroDivisionError as e:print(f"发生除零错误: {e}")
except Exception as e:print(f"未知错误: {e}")
else:print("计算成功")
finally:print("清理资源")

二、debug过程中的各类报错

try:import non_existent_module  # ModuleNotFoundError
except ImportError as e:print(f"导入错误: {e}")def bad_logic(x):return x + "2"  try:bad_logic(10)
except TypeError as e:print(f"类型错误: {e}")

三、try-except机制

def read_file(filename):try:with open(filename, 'r') as f:content = f.read()return contentexcept FileNotFoundError:print(f"文件 {filename} 不存在")except PermissionError:print("没有读取权限")except UnicodeDecodeError:print("文件编码错误")read_file("non_existent.txt")  
read_file("/root/.bashrc")     
read_file("binary_file.bin")   

四、try-except-else-finally机制

def process_transaction(amount):balance = 1000try:if amount < 0:raise ValueError("金额不能为负数")  new_balance = balance - amountexcept ValueError as e:print(f"交易失败: {e}")except TypeError:print("错误:金额类型无效")else:print(f"交易成功,新余额: {new_balance}")return new_balancefinally:print("记录交易日志到数据库")process_transaction(500)  
process_transaction(-100)  
process_transaction("abc") 

关键点总结

  1. 异常类型匹配except 块按顺序匹配异常类型

  2. 异常层级Exception 是所有内置异常的基类

  3. 主动抛出异常:使用 raise 手动触发异常

  4. 资源清理finally 块适合做资源释放操作

  5. 错误隔离:将可能出错的代码尽量缩小在 try 块中

http://www.xdnf.cn/news/450649.html

相关文章:

  • OpenCV + PyAutoGUI + Tkinter + FastAPI + Requests 实现的远程控制软件设计方案
  • 可视化图解算法39: 输出二叉树的右视图
  • Linux基础 -- SSH 流式烧录与压缩传输笔记
  • Restfull API 风格规则以及特点
  • Linux运维高频词对照表
  • “小显存”也能启动大模型
  • [数据结构]5. 栈-Stack
  • 服务器数据恢复—XFS文件系统分区消失的数据恢复案例
  • 基于.Net开发的网络管理与监控工具
  • 【算法】版本号排序
  • C++笔记-AVL树(包括单旋和双旋等)
  • 微信小程序学习之轮播图swiper
  • DeepSeek:AI助力高效工作与智能管理
  • Qwen3如何强化推理能力?
  • AISBench benchmark评测工具实操-精度评测场景-采用命令行指定模型和数据集的方式
  • ESP系列单片机选择指南:结合实际场景的最优选择方案
  • Jmeter 安装包与界面汉化
  • 【大模型】LLM概念相关问题(中)
  • day014-服务管理
  • Python机器学习笔记(二十二、模型评估-交叉验证)
  • 润金店发布“爱有千斤重“30周年限定爱意礼盒:以东方美学诠释爱的重量
  • elementplus el-tree 二次封装支持配置删除后展示展开或折叠编辑复选框懒加载功能
  • js对象原型,原型链
  • 制作一款打飞机游戏48:敌人转向
  • 嵌入式学习笔记 D20 :单向链表的基本操作
  • 3DMAX脚本病毒Spy CA查杀方法
  • 计算机网络笔记(二十八)——4.10软件定义网络SDN简介
  • 【0415】Postgres内核 释放指定 memory context 中所有内存 ④
  • 5.14 BGP作业
  • Linux操作系统实战:进程创建的底层原理(转)