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

  • 相关阅读:
    js数组与字符串的相互转换
    JS怎么把字符串数组转换成整型数组
    element-UI的操作步骤steps每一项添加事件,比如click,hover
    element-UI ,Table组件实现拖拽效果
    修改本机域名localhost为任意你想要的名称
    el-tree 设置目录树中的某个节点为高亮状态
    Akka-CQRS(2)- 安装部署cassandra cluster,ubuntu-16.04.1-LTS and MacOS mojave
    Akka-CQRS(1)- Write-side, Persisting event sources:CQRS存写端操作方式
    Akka-CQRS(0)- 基于akka-cluster的读写分离框架,构建gRPC移动应用后端架构
    Akka-Cluster(6)- Cluster-Sharding:集群分片,分布式交互程序核心方式
  • 原文地址:https://www.cnblogs.com/linbao/p/7747416.html
Copyright © 2011-2022 走看看