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 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python