python学习之道之异常处理(3)

2020-07-25  本文已影响0人  远远愿远远

一.常见的异常类

1.NameError类

当尝试访问一个未声明的变量,会引发此异常。
例如:print(test)

2.ZeroDivisionError

当除数为0的时候,会引发该异常。

3.SyntaxError

当所执行的代码出现了语法错误的时候,会引发该异常。

4.IndexError

当代码使用了序列中不存在的索引时,会引发该异常。

5.KeyError

当代码块使用了字典中不存在的键访问值时,会引起该异常。

6.FileNotFoundError

当代码中存在尝试打开不存在的文件时,触发。

7.AttributeError

当代码中访问了未知的对象属性时候会触发该异常。

二.异常处理

1.用try-except语句处理异常

try:用于检测异常
except:用于捕捉异常
具体代码块:
try:
语句块
except:
异常处理代码
except后面可以注明捕获的是什么异常(异常类型)

2.捕获多个异常处理方法

上述的语句只能捕捉1个异常,当遇到多个异常的时候可以用except将异常的名称来分割开:
try:
语句块
except 名称1:
异常处理代码
except 名称2:
异常处理代码
......(省略) 在其他一些语言中用try-catch捕获异常
python3中需要用元组来表示异常用同一种处理方式。
也可以不写异常 利用except Exception as result找到全部异常

3.终止行为

不论是否捕捉到异常,都要执行终止行为,可以用finally语句进行处理,整体语句:
try:
语句
except:
语句
else:
语句
finally:
最后必须处理的异常
附加抛出异常的语句
raise触发异常
1.使用类名引发异常;
2.使用异常类的实例引发异常;
3.传递异常;
4.指定异常的描述信息
5.异常引发异常(raise-from实现)

上一篇 下一篇

猜你喜欢

热点阅读