一般情况下,在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类,通过直接或间接的方式。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
0基础Python数据分析入门学习
对于0基础的同学来说,想要学习Python,数据分析是必须掌握的一个知识要点。本文就专门针对0基础的同学,整理了数据分析入门的基础知识点,分别从是什么,为什么,有什么用三大问题着手带大家了解数据分析。
2940
2019-08-02 11:19:23
新手学Python可行吗?需要什么基础?
新手学Python可行吗?其实Python可以说是最适合新手学习的编程语言。为什么这么说呢?难道学Python不需要什么基础吗?其实如果学习者有一定的计算机基础,学Python会更快,但是没基础也能学好Python,只要肯下功夫。大家了解了新手学Python的可行性之后,还要掌握零基础如何学习Python的方法,毕竟自信和决心只是学习的第一步。
1626
2019-08-19 13:38:17
新手数据分析培训总结和学习建议
大数据技术的发展,让越来越多的人意识到数据分析的重要作用。如今,为了不断提升自己的职场竞争力,不少人开始参加数据分析培训。对此,小编有几点总结和学习建议给参加数据分析培训的新手。
1643
2019-08-23 17:31:09
无基础可以学习Python教程吗?
对于大多数初学者来说,在学习Python 时都会感到压力繁重,因为毫无基础去学习这种跨品台的计算机程序设计语言,无疑是一种自我挑战。但是相比Java而言,学习Python快,对于急需找到工作的人来说是一个非常好的选择。
864
2020-05-28 15:19:45
Python好学吗?要学多久?
许多想要学习编程语言的小白都会问这样一个问题,Python好学吗?难不难?老实说零基础学习任何编程语言都是有一定难度的。但是Python简单易懂的语法使得学习的难度大大降低了,因此Python可以说对新手最友好的编程语言。那么Python要学多久呢?根据博学谷的课程安排,即便是零基础的学员,半年以内也能熟练掌握Python。
1254
2020-07-01 12:06:53
Power BI零售数据可视化分析
¥98 基础 152
Python爬虫之Beautiful Soup教程
免费 基础 1121
计算机视觉入门与案例实战
免费 基础 1428
Python面对对象编程
免费 基础 1156
MongoDB数据库
¥59 进阶 27
推荐课程
热门文章
- UI设计培训费用要多少钱?靠不靠谱?
- 哪个Python培训机构好些?怎么选?
- 这样的Java自学姿势 学废最快
- 2021年大数据行业发展前景及岗位方向如何?
- Web前端开发工程师培训班哪家好?
- 互联网产品经理岗位现在有多热门?
- 前端测试用例怎么写?为什么写测试用例?
- 有哪些好的线上培训产品经理的机构?
- 零经验的人学编程难吗?能学会吗?
- 传智博学谷神经网络和深度学习课程推荐 查看更多
扫描二维码,了解更多信息
