一.常见的异常类
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实现)
网友评论