zoukankan      html  css  js  c++  java
  • 异常处理,包,模块总结

    异常处理:

    1,是由语法上的错误引发的异常 (程序执行前就改正)

    2,是逻辑上的错误引发的异常

    预防:对于逻辑上的错误,尽量用if来预防异常

    无法预防对于的逻辑上无法预知的错误,应该用try。。。except处理

    try。。。except 语法:

      

    try:
        被检测的代码块
    except 异常name as e:
      print(e)
    except 异常name as e:
      print(e)
    except 异常name as e:
      print(e)
    except exception as e: #万能异常
      pass
    else:
      没有异常的时候触发
    finally:
      有没有异常都触发
    class myexceprion(baseexceprion): #自定义异常
      pass
    raise type(‘异常值’) #主动触发异常
    assert 1==2 ##断言不通过,就抛出异常
    #保证程序走到某一个阶段的时候,xx必须等于xx,程序才能往下走
    #否则,抛出异常


      万能异常使用:同一种错误。

    二,模块与包

         模块分三类:内置模块,第三方模块,自定义模块

      包是从文件夹/目录,级别组织模块。

    模块的使用 2种 方法:

    1,improt

    2,from。。。import

    只要导入都会干3件事情:

    1,执行文件。

    2,创建名称空间。

    3,创建模块名,指向该文件创建的名称空间。

         模块名。名字

    导入模块,使用注意事项:

    import spam 

    spam.name  使用的时候,必须带spam

    from spam import name

    name                   直接用最后的name名字

    导入包,使用注意事项:

    1,点的左侧,必须是一个包

    2, import glance.api.policy

      glance.api.policy.name   使用的时候,要带上前面的,加上点policy

    3,from glance.api.policy import name

      name          使用的时候,直接用name

          from   ....import...  (import后面是name,不能带点)

    特别注意:

    1,import导入内置或第三方模块,但是绝对要避免使用import来导入自定义包的子模块。

    2,应当使用from...import...的绝对或相对导入,且包的相对导入只能用from的形式。

        尽量用相对导入。(绝对导入,如果改名,就会出现问题)

    3,把包当作模块去看sys

      

        

       

         

  • 相关阅读:
    linux设备驱动第五篇:驱动中的并发与竟态
    chromium浏览器开发系列第二篇:如何编译最新chromium源码
    你所不知道的html5与html中的那些事(二)
    vim 高级使用技巧第二篇
    FFMPEG高级编程第一篇:环境搭建及编译
    android apk 防止反编译技术第一篇-加壳技术
    你所不知道的html5与html中的那些事(一)
    交通视频
    Git命令----放弃本地修改使用服务器上的代码
    IE10(去掉文本框的X)
  • 原文地址:https://www.cnblogs.com/catherine007/p/8482942.html
Copyright © 2011-2022 走看看