zoukankan      html  css  js  c++  java
  • Python捕获异常

    一.常见异常

     

    1.语法错误:SyntaxError:invalid syntax

    (1)案例:

    (1)解决方法:

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

    ②熟悉python基本语法

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

    (1)案例:

    (2)解决方法:

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

     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

  • 相关阅读:
    A1023 Have Fun with Numbers (20分)(大整数四则运算)
    A1096 Consecutive Factors (20分)(质数分解)
    A1078 Hashing (25分)(哈希表、平方探测法)
    A1015 Reversible Primes (20分)(素数判断,进制转换)
    A1081 Rational Sum (20分)
    A1088 Rational Arithmetic (20分)
    A1049 Counting Ones (30分)
    A1008 Elevator (20分)
    A1059 Prime Factors (25分)
    A1155 Heap Paths (30分)
  • 原文地址:https://www.cnblogs.com/linbao/p/7747416.html
Copyright © 2011-2022 走看看