一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是一个事件,此事件是在程序执行过程中发生,而且会影响程序的正常执行。编译过程中产生的不是异常,而是错误,但是我们一般将Error作为异常的一种。所以异常包括Error和Exception。
下面就是Python内置标准异常以及对应的文字描述。
0.BaseException 所有异常的基类。
1.SystemExit 解释器请求退出。
2.KeyboardInterrupt 用户终端执行(通常是输入)。
3.GeneratorExit 生成器发生异常来通知退出。
4.StandardError 所有内建标准异常的基类。
5.Exception 常规错误的基类
1)StopIteration 迭代器没有更多的值
2)ArithmeticError 所有数值计算错误的基类
①FloatingPointError 浮点计算错误
②OverflowError数值运算超出最大限制
③ZeroDivisionError 除(或取模)零(所有数据类型)
3)AssertionError 断言语句失败
4)AttributeError 对象没有这个属性
5)BufferError 缓存错误
6)EOFError 没有内建输入,到达EOF标记
7)EnvironmentError 操作系统错误的基类
8)IOError 输入/输出操作失败
9)LookupError 无效数据查询的基类
①IndexError 序列中没有此索引
②KeyError 映射中没有这个键
10)MemoryError 内存溢出错误(对于Python解释器不是致命的)
11)NameError 未声明/初始化对象(没有属性)
①UnboundLocalError 访问未初始化的本地变量
12)OSError 操作系统错误
13)WindowsError 系统调用失败
14)ReferenceError 弱引用试图访问已经垃圾回收了的对象
15)RuntimeError 一般的运行时错误
①NotImplementedErrro 尚未实现的方法
16)SyntaxError 语法错误
①IndentationError 缩进错误
a.TabError 空格和Tab混用
17)SystemError 一般的解释器系统错误
18)TypeError 对类型无效的操作
19)ValueError 传入无效的参数
①UnicodeError Unicode相关的错误
a.UnicodeDecodeError 解码时错误
b.UnicodeEncodeError编码时错误
c.UnicodeTranslaterror 转换时错误
20)Warning
①DeprecationgWarning 关于被弃用的特征的警告
②PendingDeprecationgWarning 关于特性将会被废弃的警告
③RuntimeWarning 可疑的运行时行为
④SyntaxWaring 可疑的语法警告
⑤UserWarning 用户代码生成的警告
⑥FutureWaring 关于构造将来语义会有改变的警告
异常处理:
捕捉异常可以使用try/except语句。try的工作原理是,当开始的一个try语句后,Python就在当前程序的上下文中做标记,这样当异常出现时就可以回到这里,try子句先执行。如果当try后的语句执行时发生异常,Python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。如果try语句中发生异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。如果try子句执行时没有发生异常,Python将执行else语句后的语句,然后控制流通过整个try语句。
此外如果使用try-finally语句无论是否发生异常都将执行最后finally后相应的代码。
除去这些常见的标准异常类型,用户还可以自定义异常类型。通过创建一个新的异常类,程序可以命名他们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python基础语法总结之逻辑运算
Python里的逻辑运算有and、or 和 not,它们分别说明为与、或、非。虽然逻辑运算符在Python基础语法中是基础中的基础,但是对于零基础小白来讲,还是有一定难度的。本文就来为零基础小白好好讲解一下逻辑运算。已经学过这部分知识的小伙伴也可以再复习一遍,把基础知识掌握得更牢固。
3345
2019-10-18 11:12:31
掌握爬虫技术需要学哪些内容?
随着大数据时代的到来,人们对数据资源的需求越来越多,而爬虫技术就是一种很好的自动采集数据的手段。目前,爬虫技术已经在各行各业都得到了广泛的应用,因此爬虫技术不仅仅是编程开发者的必备的技能,它还是许多行业职场人的加分项。那么,掌握爬虫技术需要学哪些内容呢?下面将为你细致讲述爬虫技术的学习内容,一起来看看吧!
2368
2020-04-15 09:48:43
Python基础语法学习之变量与赋值
近几年Python飞速发展,开始学习Python的人群不在仅仅局限于编程开发者,许多其他行业的从业者也开始将Python作为自己的职业技能。本文仍然是针对零基础的初学者,继续学习Python的基础语法——变量与赋值。主要内容包括变量和赋值的概念、代码演示、变量的特点和命名规范以及=符号。
2484
2020-04-16 10:53:42
0基础入门Python基础知识学什么?
0基础入门Python基础知识学什么?对于初学者来说,需要学习变量和类型 、数字和字符串以及常用的数据结构、字符编码、运算符 、分支结构、循环结构、函数与模块的使用、面向对象、文件的操作、进程与线程等内容。
1689
2020-08-24 16:32:17
mkdir和rm命令选项基础知识学习分享
mkdir和rm命令选项基础知识学习分享,创建嵌套文件夹使用“mkdir –p”嵌套目录;删除空目录使用“rmdir目录名”或者“rm–d目录名”;删除非空目录使用 “rm–r目录名”
359
2022-03-02 16:22:47
热门文章
- 目前Java架构师现状如何?前景怎么样?
- 大数据行业现在工作很难找吗?
- 和行业大咖1V1免费聊IT,这是头一次!
- 人工智能如何入门学习?前景如何
- 未来互联网人才还稀缺吗?哪些技术方向热门?
- 智能汽车用到哪些技术?
- 产品可行性分析需要考虑几个方面?
- 日常工作中程序员最讨厌哪些工作事项?
- 博学谷狂野大数据学习多长时间?
- IT互联网程序员的涨薪秘籍是什么? 查看更多
扫描二维码,了解更多信息
