Python异常传播

简介: Python异常传播

异常传播

[TOC]

目录:

一、异常的传播

二、抛出的异常

一、异常的传播

一个出现在全局,一个出现在函数就两种可能

当在函数中出现异常时,如果在函数中对异常进行了处理,则异常不会再继续传播,

如果函数中没有对异常进行处理,则异常会继续向函数调用处传播,

如果函数调用处处理了异常,则不再传播,如果没有处理则继续向调用处传播

直到传递到全局作用域(主模块)如果依然没有处理,则程序终止,并且显示异常信息

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

fn3()

二、抛出的异常

当程序运行过程中出现异常以后,所有的异常信息会被保存一个专门的异常对象中,

而异常传播时,实际上就是异常对象抛给了调用处

比如:

ZeroDivisionError 类的对象专门用来表示除0的异常
NameError 类的对象专门用来处理变量错误的异常

在 Python 为我们提供了多个异常对象

有很多很多一系列的错误。

https://docs.python.org/zh-cn/3/library/exceptions.html
目录
相关文章
|
13天前
|
存储 索引 Python
|
14天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
5月前
|
Python
Python基础教程(第3版)中文版 第8章 异常(笔记)
Python基础教程(第3版)中文版 第8章 异常(笔记)
|
4月前
|
Unix API Python
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
89 0
|
25天前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
18 1
|
2月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
1月前
|
开发者 索引 Python
Python常见的异常总结
Python 中的异常是一个非常广泛的主题,因为它包含许多内置的异常类型,这些类型可以处理各种运行时错误。
20 0
|
4月前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
4月前
|
机器学习/深度学习 运维 监控
使用Python实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
60 6
|
3月前
|
API C++ Python
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')