Python——异常捕获

为什么要捕获异常?

为了当程序遇到bug时,不会直接崩溃,而是对异常进行捕获并处理,使整个程序继续运行

异常的捕获方式

捕获常规异常:

try:

可能发生错误的代码

except:

如果出现异常执行的代码

一行语句中可能出现多个异常

捕获指定异常:

try:

可能发生错误的代码

except 异常类型 as 异常对象:

如果出现异常执行的代码

【常见异常类型:NameError :访问未定义变量;UnboundLocalError :局部变量未赋值就引用;AttributeError :对象无此属性 / 方法;TypeError :类型不匹配(操作 / 函数不支持该类型);ValueError :类型正确但值非法;ZeroDivisionError:除数为 0】

捕获全部异常使用Exception的异常类型】

捕获多个异常:

把要捕获的异常类型名字以元组的方式进行书写。

异常else表示的是如果没有异常要执行的代码

异常finally表示的是无论是否异常都要执行的代码

异常的传递性:

函数 / 代码块里抛出的异常若未被捕获,会沿调用栈逐层向上传递,直到被 try...except 处理,或到顶层导致程序崩溃。

可以利用异常的传递性在高层级捕获所有异常

相关推荐
金銀銅鐵4 小时前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup118 小时前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi0010 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵12 小时前
用 Python 实现 Take-Away 游戏
python·游戏
copyer_xyf13 小时前
Agent 流程编排
后端·python·agent
copyer_xyf13 小时前
Agent RAG
后端·python·agent
copyer_xyf13 小时前
【RAG】向量数据库:milvus
后端·python·agent
copyer_xyf14 小时前
Agent 记忆管理
后端·python·agent
星云穿梭1 天前
用Python写一个带图形界面的学生管理系统——完整教程
python