Python——异常捕获

为什么要捕获异常?

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

异常的捕获方式

捕获常规异常:

try:

可能发生错误的代码

except:

如果出现异常执行的代码

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

捕获指定异常:

try:

可能发生错误的代码

except 异常类型 as 异常对象:

如果出现异常执行的代码

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

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

捕获多个异常:

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

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

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

异常的传递性:

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

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

相关推荐
XS0301062 分钟前
Java基础 set集合
java·开发语言
驭渊的小故事3 分钟前
继承和多态
java·开发语言
天天打码3 分钟前
从 Rolldown 到 Oxc:前端工具链正在全面 Rust 化
开发语言·前端·rust
a7963lin3 分钟前
Golang怎么用GitLab CI构建_Golang如何编写.gitlab-ci.yml自动化构建流程【教程】
jvm·数据库·python
希望永不加班16 分钟前
Java数据类型陷阱:int和Integer的7个关键区别
java·开发语言
The Chosen One98520 分钟前
【Linux】深入理解Linux进程(二):进程的状态
linux·运维·服务器·开发语言·git
我鑫如一21 分钟前
口碑好的AI API中转站哪家强
人工智能·python
花千树-01034 分钟前
从业务接口到 MCP Tool:多语言工程化实践指南(Python / TypeScript / Java)
java·python·rpc·typescript·api·mcp
嵌入式小杰36 分钟前
一阶低通滤波入门教程:从原理到单片机 C 代码实现
c语言·开发语言·stm32·单片机·算法
叼烟扛炮44 分钟前
C++ 知识点02 输入输出
开发语言·c++·算法·输入输出