Iridescent:Day25
2026/6/4 12:20:48 网站建设 项目流程

https://blog.csdn.net/weixin_45655710?type=blog
@浙大疏锦行
DAY 25 异常处理
知识点回顾:
1.异常处理机制
2.debug过程中的各类报错
3. try-except机制
4. try-except-else-finally机制

在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。
作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。

这份关于 Python异常处理(Exception Handling)的教程非常详尽,涵盖了从基础概念到进阶逻辑,再到实际报错类型的全方位解析。

为了帮你完成作业梳理,我将今日的核心知识点总结为一张思维导图式的清单,并提炼了 AI 时代背景下编程思维的转变。


📝 DAY 25:Python 异常处理核心知识梳理

1. 为什么 AI 喜欢写try-except

  • 稳定性优先:AI 模型在强化学习阶段被要求保证代码“可运行”。通过大量嵌套异常处理,可以防止程序因微小错误(如格式不匹配、网络波动)而崩溃,提高任务完成率。
  • 学习点:虽然我们日常写代码追求简洁,但面对不确定的外部输入(接口、文件、用户输入)时,模仿 AI 的防御性编程是非常必要的。

2. 异常处理的“四大家族” (核心语法)

关键字作用执行时机
try探测区包含可能出错的代码。程序会尝试跑一遍。
except救火区只有当try报错时才执行。用于捕获并处理特定错误。
else奖励区只有当try完全没报错时才执行。用于存放“成功后的后续动作”。
finally扫尾区无论结果如何(报错与否、是否有 return)都会执行。常用于关闭文件、释放显存。

3. 必须掌握的常见报错 (Debug 关键词)

在不求助 AI 的情况下,你应该能通过报错的首行判断问题所在:

  • 环境/路径类
    • ModuleNotFoundError: 没装库(pip install)或路径写错。
    • FileNotFoundError: 路径下找不到文件,多半是相对路径搞错了。
  • 数据/逻辑类
    • TypeError: 类型不匹配(比如把字符串和数字相加)。
    • ValueError: 类型对了但值不对(比如把 “abc” 强转成数字)。
    • IndexError: 列表索引出界(只有2个元素却访问第3个)。
    • KeyError: 字典里没有这个键。
  • 计算/语法类
    • SyntaxError: 语法写错了(括号没关、漏了冒号),代码跑都跑不起来。
    • ZeroDivisionError: 除数为零。

4. 深度学习 (DL/ML) 中的实战场景

在机器学习流程中,异常处理不仅仅是“防崩溃”,更是“保数据”:

  1. 显存溢出 (OOM):使用try-except捕获 RuntimeError,在程序崩溃前尝试清理缓存。
  2. 数据读取:当海量图片中有一张损坏时,通过try-except跳过该样本,保证训练不中断。
  3. 模型保存 (finally):无论训练是因为完成还是被手动停止(Ctrl+C),通过finally确保当前进度的权重文件被存入磁盘。

5. 编程习惯建议:从“无脑交给 AI”到“主动 Debug”

  • 第一步:看报错行号,确认是哪行代码在叫。
  • 第二步:看报错类型,理解是数据问题、语法问题还是环境问题。
  • 第三步:尝试自己修改。如果解决不了,再将报错信息和代码一起发给 AI,并阅读 AI 的解释

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询