Python——异常捕获

为什么要捕获异常?

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

异常的捕获方式

捕获常规异常:

try:

可能发生错误的代码

except:

如果出现异常执行的代码

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

捕获指定异常:

try:

可能发生错误的代码

except 异常类型 as 异常对象:

如果出现异常执行的代码

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

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

捕获多个异常:

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

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

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

异常的传递性:

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

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

相关推荐
qq_189807031 分钟前
SQL报表临时表过大问题_临时表生成机制优化
jvm·数据库·python
遇事不決洛必達5 分钟前
某方数据库protobuf详解
爬虫·python·protobuf
XY_墨莲伊9 分钟前
【编译原理】实验二:基于有穷自动机FA词法分析器设计与实现
c语言·开发语言·c++·python
广州灵眸科技有限公司15 分钟前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网
qq_4523962316 分钟前
【工程实战】第三篇:接口自动化 —— Requests 的工业级封装:Session 关联、日志与断言
python·自动化
少许极端18 分钟前
算法奇妙屋(四十五)-CCPC备战之旅-1
java·开发语言·算法
U盘失踪了23 分钟前
go 常量
开发语言·后端·golang
techdashen24 分钟前
Go 的新垃圾回收器 Green Tea:一个降低GC CPU开销的大工程
开发语言·后端·golang
2401_8971905528 分钟前
html标签怎么设置段落间距_p标签默认样式及调整建议【指南】
jvm·数据库·python
Java面试题总结28 分钟前
BCrypt密码加密
开发语言·python