Python打卡DAY25

知识点回顾:

  1. 异常处理机制
  2. debug过程中的各类报错
  3. try-except机制
  4. try-except-else-finally机制

在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。

Debug类型:

  • SyntaxError

    语法错误,通常是代码的结构不符合语言规范,例如缺少括号、引号或错误的缩进。

  • NameError

    引用一个未定义的变量或函数,例如访问一个尚未赋值的变量。

  • TypeError

    数据类型不匹配的错误,比如试图将字符串与整数相加,或对不支持该操作的对象进行操作。

  • ValueError

    传递给函数或操作的数据值不合适,例如将一个无法转换为数字的字符串传递给 int() 函数。

  • IndexError

    索引超出范围,通常发生在访问列表或数组时,索引超出了它们的有效范围。

  • KeyError

    字典中访问一个不存在的键时会抛出该错误。

  • AttributeError(属性错误)

    试图访问一个对象不存在的属性或方法,通常是由于拼写错误或错误的对象类型。

  • ImportError

    导入模块失败,通常是因为模块不存在或者文件路径不对。

  • ZeroDivisionError(除零错误)

    试图进行除以零的操作时会触发此错误。

  • FileNotFoundError(文件未找到错误)

    当试图打开一个不存在的文件时发生的错误。

  • IOError

    输入/输出错误,通常发生在文件操作时遇到硬件或其他外部问题。

  • MemoryError

    当程序使用的内存超出了计算机的可用内存时,会出现此错误。

  • RecursionError

    当递归调用过多,导致调用栈溢出时会出现此错误。

  • ModuleNotFoundError (导入错误)

    尝试导入一个不存在的模块,或者模块存在但其中的特定名称找不到, Python 的模块加载器找不到这个模块。去安装库即可,如果是自定义的模块,配置好对应的路径

异常处理机制:

当异常发生时,Python会创建一个异常对象 (exception object)(通常是 Exception 类的子类实例)。如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。

try-except:

逻辑说明: 程序首先尝试执行 try 块中的代码。

如果 try 块中的代码没有发生异常,则 except 块会被跳过,程序继续执行 try-except 结构之后的代码。

如果 try 块中的代码发生了异常,Python会查找与该异常类型匹配的 except 块。如果找到匹配的,则执行该 except 块中的代码,然后继续执行整个 try-except 结构之后的代码(除非 except 块中又引发了新异常或执行了 return/break/continue 等)。如果未找到匹配的 except 块,异常会向上传播。

类比: 你可以把它看作是:"尝试做这件事,如果出错了(并且是特定类型的错误),就执行补救措施。"

try-except-else:

首先,执行 try 块中的代码。

如果 try 块中发生异常,则会查找并执行匹配的 except 块,else 块不会被执行。

如果 try 块中没有发生任何异常,则会跳过所有 except 块,然后执行 else 块中的代码。

try-except-finally:

在try-except基础结构上引入finally,finally块:不管是否发生异常,finally块的代码都会执行。通常用于资源清理操作,如关闭文件、释放内存等。

try-except-else-finally:

try: 包含可能引发异常的代码。

except: 处理在 try 块中发生的特定异常。

else: (可选)如果 try 块中没有发生任何异常,则执行此代码块。

finally: (可选)无论 try 块中是否发生异常,总会执行此代码块。

@浙大疏锦行

相关推荐
Dimpels1 分钟前
CANN ops-nn 算子解读:AIGC 批量生成中的 Batch 处理与并行算子
开发语言·aigc·batch
blueSatchel11 分钟前
U-Boot载入到DDR过程的代码分析
linux·开发语言·u-boot
Pyeako18 分钟前
深度学习--卷积神经网络(下)
人工智能·python·深度学习·卷积神经网络·数据增强·保存最优模型·数据预处理dataset
无小道19 分钟前
QT——QFIie和QFileInfo文件类
开发语言·qt·命令模式
OPEN-Source20 分钟前
大模型实战:搭建一张“看得懂”的大模型应用可观测看板
人工智能·python·langchain·rag·deepseek
廖圣平22 分钟前
从零开始,福袋直播间脚本研究【七】《添加分组和比特浏览器》
python
B站_计算机毕业设计之家22 分钟前
豆瓣电影数据可视化分析系统 | Python Flask框架 requests Echarts 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·python·机器学习·数据挖掘·flask·毕业设计·echarts
mr_LuoWei200938 分钟前
python工具:python代码知识库笔记
数据库·python
weixin_3954489138 分钟前
cursor日志
人工智能·python·机器学习
踢足球092939 分钟前
寒假打卡:2026-2-7
java·开发语言·javascript