百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python之异常:了解常见的内置异常,遇到不慌

off999 2024-11-19 08:33 38 浏览 0 评论

引言

本文接着来聊Python中的异常管理,对于新手来说,一旦看到异常,就会比较慌张。其实,倒不是对异常比较害怕,而是担心不知道该怎么处理这种异常才是比较可怕的。本文就简单列举一下Python中比较常见的异常,从而让大家再次遇到时不至于太慌张。

本文的主要内容有:

1、核心异常类图

2、常见的异常


核心异常的类图

Python中的异常都是直接或者间接继承自BaseException这个基类,常见的异常则是继承自Exception。

按照异常出现的场景,又会有算术异常、迭代异常、导入异常、查找异常、断言异常、操作系统异常、属性异常、类型异常、语法异常、值异常以及运行时异常等。

需要说明的是,这个异常的类图中,只是列举了相对较为常见的异常,并不是Python中异常体系的全部内容。


常见的异常有哪些

对Python中常见的异常的体系有个全局性的了解之后,接下来把一些比较常见的异常做一个简要的描述,从而在后续学习、工作中,遇到对应的异常能够更好的理解其产生的场景、原因,从而更好地对其进行处理应对。

1、BaseException

是所有异常类的基类,通常不会直接使用。

2、Exception

绝大多数异常类的基类,所有用户自定义的异常也应该继承自它。

3、StopIteration

迭代器没有更多的值时,会引发该异常,在前面介绍迭代器和for循环时已经涉及。

4、ArithmeticError

所有算术运算错误的基类。

5、OverflowError

溢出异常,当数值运算的结果超出表示范围时会引发该异常。

6、ZeroDivisionError

除法运算或者取模运算中的除数为0时引发的异常。

7、AssertionError

assert语句相关断言失败时会引发该异常。

需要说明的是,assert语句为假的时候就会触发,但是,应当仅仅用于代码的测试和调试阶段,而不应当应用于生产环境。

8、AttributeError

尝试访问一个对象不存在的属性时会引发该异常。

9、ImportError

导入模块失败时会引发该异常。

10、ModuleNotFoundError

导入模块时,如果要导入的模块没有找到时引发该异常。

11、LookupError

查找序列或者映射中不存在的键或索引时引发该异常。

12、IndexError

序列中使用了超出范围的索引时引发该异常。

13、KeyError

映射中使用了不存在的键时引发该异常。

14、NameError

使用了未定义的变量时引发该异常。

15、BrokenPipeError

链接管道断开导致的异常。

16、ConnectionAbortedError

建立连接的尝试被终止时会触发该异常。

17、ConnectionResetError

连接被重置时引发该异常。

18、FileExistsError

尝试创建的文件已经存在时会引发该异常。

19、FileNotFoundError

尝试打开的文件不存在时会引发该异常。

20、PermissionError

操作因权限不足而失败时会引发该异常。

21、RuntimeError

在运行时检测到错误。

22、NotImplementedError

方法或者功能未被实现时会引发该异常。

23、RecursionError

递归函数中,递归的深度超过限制时会引发该异常。

遇到该异常时,最大的可能就是忘记了编写递归终止条件。

如果问题的计算复杂度导致递归深度确实较深,应当考虑尾递归优化,或者问题规模的拆解。

24、SyntaxError

代码中存在语法错误时会引发该异常。

25、IndentationError

缩进层级存在错误时,会引发该异常,所以,Python代码有需要游标卡尺才能正确编写的戏称。

26、TypeError

操作或者函数应用于不适当的类型的对象时,会引发该异常。

27、ValueError

操作或者函数接收到具有正确类型但是不是合适的值时,会引发该异常。


以上就是在笔者看来,比较常见的异常。

需要说明的是,不同编程语言中的异常体系以及异常处理机制其实都是大同小异的,对于异常的掌握,只要能够清晰理解异常的触发及处理机制,遇到异常不要慌张,仔细查看异常信息,基本上都能够很好地解决。


总结

本文简单梳理了Python中的异常类的继承体系,然后就笔者日常工作中遇到的比较常见的异常,做了一个简单的介绍。

以上就是本文的全部内容了,下一篇文章,准备介绍一下自定义异常的相关内容,感谢您的拨冗阅读,希望对您有所帮助。

相关推荐

win7系统激活状态不可用(win7windows激活状态不可用)

未激活的系统很多应用程序都没办法使用的,所以用激活工具激活系统。接下来小编分享win7用激活工具激活不了系统原因和解决方法。解决方法:1、已经激活了,但是有的网友是出现了黑色壁才进行的激活。激活后桌...

win7怎么设置不休眠(win7系统设置不休眠)

您可以按照以下步骤取消Windows7系统的休眠功能:1.点击“开始”菜单,选择“控制面板”。2.在控制面板中,选择“硬件和声音”。3.在“硬件和声音”中,选择“电源选项”。4.在“电源选项...

win7重装系统后键盘鼠标没反应

方法一:使用安全模式来解决1.首先我们尝试重启电脑,按关机键几款重启,如果重启电脑没有效果的话,将电脑鼠标的接头重新换一个USB接头即可。2.接着再开机按F8键(这时键盘肯定能用),再到高级启动选项下...

4g网速最快的apn接入点(4g哪个接入点快)

中国联通网速最快最稳的APN是3gnet。联通4G卡APN接入点应该选择“3gnet”,具体设置步骤如下:1、以MIUI系统为例,点击桌面上的“设置”应用图标;2、在打开的设置应用界面中,选择“双卡和...

支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
  • 支付宝注册(支付宝注册地址)
linux软件大全(linux相关软件)

Airtime-Airtime是一款用于调度和远程站点管理的开放广播软件Ardour-在Linux上录音,编辑,和混音Audacious-开源音频播放器,按你想要的方式播放你的音乐,...

什么是网络交换机(什么是网络交换机的作用)

交换机(又名交换式集线器)作用与集线器大体相同,可以简单的理解为将一些机器连接起来组成一个局域网,而每台机器还能独享带宽。原理:MAC地址通常由网卡(NIC)决定,并且每个网卡、交换机和路由器的每个端...

wifi热点精灵下载(下载wifi精灵怎么样)

启动你好,解决方法一这是网卡IP的设置问题,看下上网的那个网卡有没有“共享”或者看下网络连接列表里有没有“已共享”字样,取消共享:电脑右下角右击“打开网络和共享中心”-----点击“更改适配器”-...

win7游戏版系统(win7游戏专用版)

具体方法:1、进入win7桌面,右键单击桌面上的计算机图标,选择要打开的属性,然后进入下一步。2、点击系统属性界面左侧的“高级系统设置”进入下一步。3、切换到弹出系统属性界面的“高级”选项,点击性能选...

win7如何查看隐藏文件(win7打开隐藏的文件夹)
win7如何查看隐藏文件(win7打开隐藏的文件夹)

方法/步骤分步阅读1进入win7系统桌面,鼠标双击打开我的电脑。2在我的电脑上方的导航条中点击工具选项。3在出现的下拉框中选择‘文件夹选项’进入。4在出现的文件夹选项界面中切换到‘查看’选项。5拉动下方的滚动条,找到‘隐藏受保护的操作系统文...

2025-11-29 05:51 off999

电脑怎样设置自动关机(笔记本电脑怎样设置自动关机)

电脑如何设置定时关机,方法1.点击电脑屏幕左下角的开始按钮,在所有程序里依次选择选择附件---系统工具,然后单击打开任务计划程序。2.点击打开任务计划程序后,在最右边的操作框里选择创建基本任务,然后在...

最近最新电影网(最新的电影资讯)

目前有许多观看最新电影的网站可供选择。其中一些知名的网站包括Netflix、AmazonPrimeVideo、Hulu、Disney+、AppleTV+和HBOMax。这些网站提供了广泛的电影...

h3c网络管理软件(h3c 网管)

1.可能无法登录2.H3C无法登录的原因可能是网络连接问题、账号密码错误、软件版本不兼容等。网络连接问题可能是由于网络故障、设备配置错误等导致无法正常登录。账号密码错误可能是输入错误或者账号被锁定...

qq轻聊版官网首页(qq轻聊版2019最新下载正版)
qq轻聊版官网首页(qq轻聊版2019最新下载正版)

qq是一款功能十分强大的软件,身边很多的朋友都在使用,但是还是有一些新手朋友对于这个软件不是非常的了解,今天就聊一聊关于qq轻聊版和qq有什么区别的问题,希望可以帮助到有需要的朋友。第一,轻聊版不带捆绑软件,轻聊版QQ主界面功能部分消失,看...

2025-11-29 03:51 off999

能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)
  • 能破译wifi密码的软件(真正能破解wifi密码的手机软件)

取消回复欢迎 发表评论: