Python捕获异常

一.常见异常python

 

1.语法错误:SyntaxError:invalid syntax函数

(1)案例:spa

(1)解决方法:3d

①查看代码有没有红色波浪线对象

②熟悉python基本语法blog

 

2.变量名不存在:NameError:name 'b' is not defined继承

(1)案例:索引

(2)解决方法:字符串

①检查对应的变量名是否有定义并赋值,是否写错了变量名称it

 

 3.索引错误:IndexError: list index out of range

(1)案例:

(2)解决方法:

①检查lis对象索引选择是否超出了原本的长度

 

4.关键字错误:KeyError: 'c'

(1)案例:

(2)解决方法:

①检查字典里是否存在这个key值

 

5.类型错误:TypeError: list indices must be integers, not str

(1)案例:

(2)解决方法:

①检查清楚数据类型是否有误

 

 6.参数传值错误:ValueError: invalid literal for int() with base 10: 'ab'(主要发生在函数里面)

(1)案例:

(2)解决方法:

①弄清楚形参的数据类型

②再传对应形参的数据类型

 

7.属性错误:AttributeError: A instance has no attribute 'acc'

(1)案例:

(2)解决方法:

①检查类里是否存在这个被调用的方法

②通常不能自动匹配出方法的多半有问题

 

8.输入输出错误:IOError

(1)案例:

(2)解决方法:

①找到代码中关于输入输出的相关操做

②检查文件路径和名称对不对

 

二.常见异常总结

1.SynataxError:语法错误

2.NameError:试图访问的变量名不存在

3.IndexError:索引错误,使用的因此你不存在,常为索引超出序列范围

4.KeyError:使用了映射中不存在的关键字(键)时引起的关键字错误

5.TypeError:类型错误,内建操做或是函数应于在错误类型的对象时会引起类型错误

6.ValueError:值错误,传给对象的参数类型不正确,例如给int()函数传入了字符串数据类型

7.AttributeError:属性错误,特性引用和赋值失败时会引起属性错误

8.IOError:输入输出错误

异常不局限于以上八中,这只是很常见的八种异常

 

三.捕获异常

1.try...except组合语法

(1)代码:

try:

  正常的操做

except:

  发生异常,执行这块代码

(2)案例:

 

 

2.try...except...else组合语法

(1)代码:

try:

  正常的操做

except:

  发生异常,执行这块代码

else:

  若是没有异常,执行这块代码

(2)案例:

 

3.try...except...except(多个异常处理)

(1)代码:

try:

  正常的操做

except A:

  发生异常A,执行这块代码

except B:

  发生异常B,执行这块代码

except:

  发生其它异常,执行这块代码

else:

  若是没有异常,执行这块代码

(2)案例:

 

4.try...except(A,B)(一次捕获多个异常)

(1)代码:

try:

  正常的操做

except(A,B):

  发生异常A和B,执行这块代码

(2)案例:

 

5.try...except...finally组合语法:(try...finally也能够)

(1)代码:

try:

  正常的操做

except:

  发生异常,执行这块代码

else:

  若是没有异常,执行这块代码

finally:

  无论有没有异常,都执行这块代码

(2)案例:

 

6.try...except(嵌套)

(1)代码:

try:

  正常的操做

  try:

  正常的操做

  finally:

  无论有没有异常,都执行这块代码

except A:

  发生异常,执行这块代码

(2)案例:

 

四.处理异常(在脚本执行不成功时,咱们但愿能把信息打印出来)

1.若是已经知道会发生什么异常:

 

2.不知道会发生什么异常(万能的)---------全部的异常都继承Exception