目录
技术python中异常处理方式和程序的调试方法。
一、异常概述
异常就是程序运行中遇到的各种各样的错误。
异常 | 说明 |
---|---|
NameError | 访问没有声明的变量时引发的错误 |
IndexError | 索引超出序列范围 |
IndentationError | 缩紧错误 |
ValueError | 传入的值错误 |
KeyError | 请求不存在的字典关键字 |
IOError | 输入输出错误 常见:文件不存在 |
ImportError | 导入语句无法找到模块或模块中的定义 |
AttributeError | 访问未知对象属性 |
TypeError | 类型不合适 |
MemoryError | 内存不足 |
ZeroDivisionError | 除数为0 |
FileNotFoundError | 文件路径或文件不存在 |
FileExistsError | 文件或路径已存在 |
二、异常处理语句
1.try...except语句
try:
block1
except [ExceptionName [as alias]]:
block2
- block1:目标执行代码,可能出现异常的代码块
- ExceptionName:要捕获的目标异常,若不指定异常类型则为捕获全部异常,多个异常可以使用”,“好分隔,用"()"括起来。
- alias:捕获的异常的别名,通过别名可以访问异常信息
- block2:异常处理代码
- 当异常被捕获时程序 会继续运行
2. try...except...else语句
try:
block1
except [ExceptionName [as alias]]:
block2
else:
block3
- 基本同1
- 在1的基础上,当没有发下异常时,执行block3代码段
3.try...except...finally
try:
block1
except [ExceptionName [as alias]]:
block2
else:
block3
- 基本同1
- 在1的基础上,无论代码运行情况如何,都会执行block3代码块
- 常用来做资源释放
4.抛出异常
python中使用raise抛出异常。
raise [ExceptionName[(reason)]]
- 不设置参数(省略)时默认抛出当前错误
- ExceptionName:抛出异常的名称
- reason:异常信息,可以省略,省略时不会抛出异常信息
三、程序调试
待定