参考自:https://www.cnblogs.com/linbao/p/7747416.html
python中常见的异常及对应的解决方法:
1、语法错误 SyntaxError:invalid syntax
解决方法:
①查看代码有没有红色波浪线
②熟悉python基本语法
2.变量名不存在 NameError:name ‘b’ is not defined
解决方法:
检查对应的变量名是否有定义并赋值,是否写错了变量名称
3.索引错误 IndexError: list index out of range
解决方法:
检查lis对象索引选择是否超出了本来的长度
4.关键字错误 KeyError: ‘c’
解决方法:
检查字典里是否存在这个key值
5.类型错误:TypeError: list indices must be integers, not str
解决方法:
检查清楚数据类型是否有误
6.参数传值错误:ValueError: invalid literal for int() with base 10: ‘ab’(主要发生在函数里面)
解决方法:
弄清楚形参的数据类型,再传对应形参的数据类型
7、属性错误:AttributeError: A instance has no attribute ‘acc’
解决方法:
检查类里是否存在这个被调用的方法,一般不能自动匹配出方法的多半有问题
8.输入输出错误:IOError
解决方法:
找到代码中关于输入输出的相关操作,检查文件路径和名称对不对
捕获异常的方法:
1.try…except组合语法
try:
正常的操作
except:
发生异常,执行这块代码
2、try…except…else组合语法
try:
正常的操作
except:
发生异常,执行这块代码
else:
如果没有异常,执行这块代码
3、try…except…except(多个异常处理)
try:
正常的操作
except A:
发生异常A,执行这块代码
except B:
发生异常B,执行这块代码
except:
发生其它异常,执行这块代码
else:
如果没有异常,执行这块代码
4、try…except(A,B)(一次捕获多个异常)
try:
正常的操作
except(A,B):
发生异常A和B,执行这块代码
5、try…except…finally组合语法:(try…finally也可以)
try:
正常的操作
except:
发生异常,执行这块代码
else:
如果没有异常,执行这块代码
finally:
不管有没有异常,都执行这块代码