python基础语法学习: 异常的传递性

异常的传递

异常是是具有传递性的

当函数 fun01() 发生异常, 并且没有捕获处这个异常的时候, 异常会传递到函数 fun02(), 当 fun02() 也没有捕获处理这个异常的时候, main 函数会捕获这个异常, 这就是异常的传递性

当所有函数都没有捕获异常的时候, 程序就会报错

python 复制代码
def fun01():
    return 1 / 0
def fun02():
    fun01()
def fun03():
    fun02()

def main():
    try:
        fun03()
    except Exception as e:
        print(f"出现了异常, 异常信息是{e}")
main()
python 复制代码
def fun01():
    return 1 / 0
def fun02():
    fun01()
def fun03():
    fun02()

def main():
    try:
        fun03()
    except Exception as e:
        print(f"出现了异常, 异常信息是{e}")
main()

打印:

python 复制代码
出现了异常, 异常信息是division by zero

如果想要捕获一段异常 ,并不需要深入到真正出现异常大那一句话, 只要函数之间有调用关系, 只需要在最顶级的调用里进行捕获, 因为异常是可以传递的

相关推荐
喵本喵叁肆1 分钟前
diffprivlib 中文实战教程 · 第8讲:实战——从零改造一个 DP 模型
python·neo4j·差分隐私
兰亭妙微UI设计公司6 分钟前
兰亭妙微软件界面设计公司的解锁按钮设计10大密码
开发语言·前端·javascript
Smoothcloud润云6 分钟前
PyTorch推理输入长度分桶与Padding优化实战:减少无效计算
人工智能·pytorch·python·深度学习·gpu算力
人邮异步社区12 分钟前
C语言好学,还是Python好学?
c语言·开发语言·python
MoRanzhi120321 分钟前
122.四平方和(暴力枚举)
python·数学·算法·蓝桥杯·完全平方数·暴力枚举·四平方和定理
栈帧之外29 分钟前
【C++】红黑树实现
开发语言·c++
程序员老陆31 分钟前
C++中同一个回调函数被多个设备并发调用:并发问题不在“函数”,而在“状态”
开发语言·c++·程序设计
wangchunyu11434 分钟前
JDK8新特性实战(Lambda、Stream、Optional)
java·开发语言
鱼宵38 分钟前
工厂模式实战:消灭魔法数字,把写死的 new 收进一个厂里
开发语言·python
deepseek2340 分钟前
GitHub 停发 push 邮件后,自动通知怎么接?用 Python 做验签、去重与可靠入队
python·github·webhook