文章目录
- 1.异常的定义
- 2.异常的分类
1.异常的定义
- 异常是指因程序运行时发生错误而产生的信号。
- 如果程序中没有对异常进行处理,则程序会抛出该异常并停止程序运行。
- 为了保证程序的稳定性和容错性,我们需要在程序中捕获可能的异常并对其进行处理,使得程序不会因异常而意外停止。
2.异常的分类
- 异常可以分为语法错误和逻辑错误两类。
- 语法错误指:编写的程序不符合编程语言的语法要求。
eg,将下面的代码放在名字为test.py的Python脚本文件中:
if True
print('Hello World!')
出错结果:
File "test.py", line 1
if True
^
SyntaxError:invalid syntax
- 逻辑错误:是指虽然编写的程序符合编程语言的语法要求,但要执行的数据操作不被系统或当前环境所支持。
异 常 描 述
AssertionError 当assert语句失败时引发该异常
AttributeError 当访问一个属性失败时引发该异常
ImportError 当导入一个模块失败时引发该异常
IndexError 当访问序列数据的下标越界时引发该异常
KeyError 当访问一个映射对象(如字典)中不存在的键时引发该异常
MemoryError 当一个操作使内存耗尽时引发该异常
NameError 当引用一个不存在的标识符时引发该异常
OverflowError 当算术运算结果超出表示范围时引发该异常
RecursionError 当超过最大递归深度时引发该异常
RuntimeError 当产生其他所有类别以外的错误时引发该异常
StopIteration 当迭代器中没有下一个可获取的元素时引发该异常
TabError 当使用不一致的缩进方式时引发该异常
TypeError 当传给操作或函数的对象类型不符合要求时引发该异常
UnboundLocalError 引用未赋值的局部变量时引发该异常
ValueError 当内置操作或函数接收到的参数具有正确类型但不正确值时引发该异常
ZeroDivisionError 当除法或求模运算的第2个操作数为0时引发该异常
FileNotFoundError 当要访问的文件或目录不存在时引发该异常
FileExistsError 当要创建的文件或目录已存在时引发该异常
- 逻辑错误的eg:
1 10*(1/0)
2 4+a*3
3 '2'+2
逻辑错误结果:
1 ZeroDivisionError: division by zero
2 NameError: name 'a' is not defined
3 TypeError: can only concatenate str (not "int") to st