基于OpenCV与LBPH算法的人脸识别系统:从原理到工程实践全流程详解
2026/6/4 12:15:20
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 时代背景下编程思维的转变。
try-except?| 关键字 | 作用 | 执行时机 |
|---|---|---|
try | 探测区 | 包含可能出错的代码。程序会尝试跑一遍。 |
except | 救火区 | 只有当try块报错时才执行。用于捕获并处理特定错误。 |
else | 奖励区 | 只有当try块完全没报错时才执行。用于存放“成功后的后续动作”。 |
finally | 扫尾区 | 无论结果如何(报错与否、是否有 return)都会执行。常用于关闭文件、释放显存。 |
在不求助 AI 的情况下,你应该能通过报错的首行判断问题所在:
ModuleNotFoundError: 没装库(pip install)或路径写错。FileNotFoundError: 路径下找不到文件,多半是相对路径搞错了。TypeError: 类型不匹配(比如把字符串和数字相加)。ValueError: 类型对了但值不对(比如把 “abc” 强转成数字)。IndexError: 列表索引出界(只有2个元素却访问第3个)。KeyError: 字典里没有这个键。SyntaxError: 语法写错了(括号没关、漏了冒号),代码跑都跑不起来。ZeroDivisionError: 除数为零。在机器学习流程中,异常处理不仅仅是“防崩溃”,更是“保数据”:
try-except捕获 RuntimeError,在程序崩溃前尝试清理缓存。try-except跳过该样本,保证训练不中断。finally确保当前进度的权重文件被存入磁盘。