千家信息网

python异常传播怎么处理

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"python异常传播怎么处理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python异常传播怎么处理"吧!1、异常的传播当在函数
千家信息网最后更新 2026年11月03日python异常传播怎么处理

这篇文章主要讲解了"python异常传播怎么处理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python异常传播怎么处理"吧!

1、异常的传播

当在函数中出现异常时,如果在函数中对异常进行了处理,则异常不会再继续传播。如果函数中没有对异常进行处理,则异常会继续向函数调用者传播。如果函数调用者处理了异常,则不再传播,如果还没有处理,则继续向他的调用者传播,直到传递到全局作用域(主模块)如果依然没有处理,则程序终止,并且显示异常信息到控制台。所以异常的传播我们也称之为抛出异常。

异常传播示例如下:

def fn1():    print('Hello fn')    print(10/0)def fn2():    print('Hello fn2')    fn()def fn3():    print('Hello fn3')    fn2()fn3()

输出结果:

说明输出结果:

当我们调用fn3()方法的时候,会先输出Hello fn3,再向下执行调用fn2()方法,以此类推到fn1()方法中。可以看到上边有三条输出语句。

当执行到fn1()方法中print(10/0)语句,出现了ZeroDivisionError异常,而fn1()方法中没有处理该异常,则向他的调用者抛出这个异常,抛给了fn2()方法,以此类推,知道fn3()方法抛给了全局作用域中的调用者,异常依然没有被处理。

最后Python的解释器会把这个异常显示在控制台中。

所以我们看到异常结果中,一行报错,向上抛了好几次。

例如:全局作用域中的代码有异常没有处理的话,就直接显示在控制台中了。

print(10 / 0)

输出结果:

2、如何处理异常

在异常抛出后的任何一个调用者处理该异常都可以。

异常处理如下:

def fn1():    print('Hello fn')    print(10 / 0)def fn2():    print('Hello fn2')    fn1()def fn3():    print('Hello fn3')    fn2()try:    fn3()except :    print("异常我已经处理过了。")"""输出结果:Hello fn3Hello fn2Hello fn异常我已经处理过了。"""# 我在全局作用域的地方进行了异常处理,# 也可以在其他地方进行处理,不管在哪里处理,# 最后都不会把错误抛向控制台的。

提示:

当程序运行过程中出现异常以后,所有的异常信息会被保存一个专门的异常对象中。而异常传播时,实际上就是将异常对象抛给了调用者。

而不同的错误,会对应着不同的异常对象(也就是前边说的异常类型)。

如何查看Python异常对象?

在Python的本地文档中,找到[The Python Standard Library] —> [Built-in Exceptions],里面全是我们Python中的异常对象以及说明。

如下图所示:

感谢各位的阅读,以上就是"python异常传播怎么处理"的内容了,经过本文的学习后,相信大家对python异常传播怎么处理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

处理 传播 方法 用者 输出 函数 对象 结果 作用 全局 控制台 控制 学习 不同 以此类推 信息 内容 地方 就是 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 南京欣网互联网络科技 善班互联网科技有限公司 上海致骋互联网科技 深圳期待互联网科技 湖南洣水互联网科技有限公司扣款 来此购互联网科技有限公司 中国航天科技大学国际工业互联网 玉溪互联网科技怎么选 苏州铭阳互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 富国互联网金融科技混合基金 工业互联网科技创业 济南小医互联网科技有限公司招聘 萌小萌互联网科技河南有限公司 广州智享互联网科技 互联网领先科技活动 广州三三互联网科技有限公司 保山浩联互联网科技有限公司 河南商务圈互联网科技有限公司 云之行互联网科技 鸠鸠互联网科技 万易互联网科技 友谊互联网络科技 汽车互联网创新科技园 新兴科技互联网创新大赛颁奖典礼 开一家科技互联网公司需要多少钱 明优互联网科技有限公司 北京品多多互联网科技有限公司 如何强化互联网金融科技
0