常见的异常类型
异常名称 | 描述 |
Base Exception | 所有异常的基类 |
KeyboardInterrupt | 用户中断执行(通常是输入^c) |
Exception | 常规错误的基类 |
ArithmeticError | 所有数值计算错误的基类 |
FloatPointError | 浮点数计算错误 |
OverflowError | 数值运算超过了最大限制 |
ZeroDivisionError | 除(或取模)零(所有数据类型) |
IOError | 输入/输出操作失败 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误(对于Python解释器不是致命的) |
NameError | 未声明/初始化对象(没有属性) |
异常的简介
1、程序在运行过程中不可避免会出现一些错误
2、程序在运行过程中。一旦出现了这些错误就不会去执行,异常后面的代码也不会去zhix
异常处理
程序中出现异常,目的并不是要程序立即终止
Python是希望在出现异常时,我们可以编写代码对异常进行处理
异常的对象
捕获异常语法 except + 异常名
如果except后跟异常类型,则只有捕获当前定义的异常信息
如果exce后不跟任何类型,则此时会捕获所有的异常信息
except后加Exception(Exception相当于是所有异常类的父类)
**except Exception as e **(意思是把捕获的异常信息赋值给e)(注意:这里的e是随意的,可以是任何变量名)
自定义异常对象
可以使用raise语句来抛出异常
raise语句后面需要跟一个异常类或者异常的实例
抛出异常的目的:是为了告诉开发者一个目的,告诉调用者,可以会出现的问题,需要处理
当我们想自定义一个异常,我们可以这么做: