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

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

相关推荐
小小张说故事3 分钟前
Python 的 obj.x 到底按什么顺序找?拆开数据描述符、实例字典和 __getattr__ 那条优先级链
python
xxxiugou1239 分钟前
C++命名空间与引用全解析
开发语言·c++
用户11481867894841 小时前
水印的实现方式逻辑
前端·python
La Pulga1 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
贾公子1 小时前
从单条内容到账号维度——AIGC 风险评分的工程实现
后端·python
蒸蒸yyyyzwd1 小时前
秋招学习笔记 day106
笔记·学习
yangmu32032 小时前
编程语言发展简史:从机器指令到智能协作
开发语言
小李不想当小白2 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
木头左3 小时前
【Python】不点浏览器发博客:逆向 CSDN 创作中心接口做 md-publish 技能
python·自动化·api
Tt有了t3 小时前
设计模式速查
java·python·设计模式