zoukankan      html  css  js  c++  java
  • 包的导入/软件开发规范/异常处理

    1.包的导入
    包是一票文件夹和py
    绝对导入是从根目录开始from,不能挪动,但是直观(此处的根目录可以通过打印sys.path来查看)

    相对路径是使用.和..来表示,可以挪动此时不能再在包内的任何位置使用绝对路径来导入,也绝不能再包里调用里面的py文件

    一个' . '表示当前文件夹,两个' . . '表示当前文件夹的上一层文件夹.

    2.软件开发规范:

    每一个项目都写成这样,

    bin下面有start.py,作为程序入口,if__name__==双下main,如下定式导入便不会再犯错

    import os
    import sys
    sys.path.append(os.path.dirname(os.getcwd()))
    
    from core import core
    
    if  __name__ =='__main__':
        core.main()

    core下面放所有代码,放个core.py,内含main()方法

    conf下面是配置文件,是一些数据的说明和设置

    db下面放真实的数据

    lib通用的自己写的模块

    log下是日志文件

    3.异常处理

    程序一旦发生错误,就从错误的位置停下来了,不再继续执行后面的内容
    使用try和except就能处理异常
    try是我们需要处理的代码
    except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
    except 支持多分支,同样一个错误就停止
    有没有一个能处理所有错误的类型 : Exception
    有了万能的处理机制仍然需要把能预测到的问题单独处理
    单独处理的所有内容都应该写在万能异常之前
    即使有个万能检测,也要显示错误内容的话(便于调试)
    except Exception as error:
        print('你错了,老铁',唔错原因是error)

    else : 没有异常的时候执行else中的代码
    finally : 不管代码是否异常,都会执行后面的语句
    即使前面的try和expect里有return 程序在检测到之后依然会先执行finally的语句
    函数里做异常处理用,不管是否异常去做一些收尾工作

  • 相关阅读:
    括号匹配性检测C语言实现
    预处理命令--宏定义
    *运算和&运算
    retain, copy, assign以及autorelease
    自定义 一个单例
    多米音乐笔试题
    UI-自定义视图、视图控制器
    Foundation框架—集合
    Foundation框架—字符串
    Foundation框架—结构体
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11192272.html
Copyright © 2011-2022 走看看