常见的异常类型

异常名称

描述

Base Exception

所有异常的基类

KeyboardInterrupt

用户中断执行(通常是输入^c)

Exception

常规错误的基类

ArithmeticError

所有数值计算错误的基类

FloatPointError

浮点数计算错误

OverflowError

数值运算超过了最大限制

ZeroDivisionError

除(或取模)零(所有数据类型)

IOError

输入/输出操作失败

IndexError

序列中没有此索引(index)

KeyError

映射中没有这个键

MemoryError

内存溢出错误(对于Python解释器不是致命的)

NameError

未声明/初始化对象(没有属性)

异常的简介

1、程序在运行过程中不可避免会出现一些错误

2、程序在运行过程中。一旦出现了这些错误就不会去执行,异常后面的代码也不会去zhix

python exception e 错误信息 python exception e 的详细信息_Python

异常处理

程序中出现异常,目的并不是要程序立即终止

Python是希望在出现异常时,我们可以编写代码对异常进行处理

python exception e 错误信息 python exception e 的详细信息_异常信息_02


python exception e 错误信息 python exception e 的详细信息_Python_03

异常的对象

捕获异常语法 except + 异常名

python exception e 错误信息 python exception e 的详细信息_异常信息_04

如果except后跟异常类型,则只有捕获当前定义的异常信息

如果exce后不跟任何类型,则此时会捕获所有的异常信息

except后加Exception(Exception相当于是所有异常类的父类)

python exception e 错误信息 python exception e 的详细信息_抛出异常_05

**except Exception as e **(意思是把捕获的异常信息赋值给e)(注意:这里的e是随意的,可以是任何变量名)

python exception e 错误信息 python exception e 的详细信息_抛出异常_06

python exception e 错误信息 python exception e 的详细信息_异常信息_07

python exception e 错误信息 python exception e 的详细信息_Python_08


python exception e 错误信息 python exception e 的详细信息_抛出异常_09

自定义异常对象

可以使用raise语句来抛出异常

raise语句后面需要跟一个异常类或者异常的实例

抛出异常的目的:是为了告诉开发者一个目的,告诉调用者,可以会出现的问题,需要处理

python exception e 错误信息 python exception e 的详细信息_异常信息_10

当我们想自定义一个异常,我们可以这么做:

python exception e 错误信息 python exception e 的详细信息_抛出异常_11