zoukankan      html  css  js  c++  java
  • Python_异常机制及日志

    #异常机制
    # try:
    # a=int(input("请输入:"))
    # # print(b/a)#触发未知错误
    # print(1/a)
    # except ZeroDivisionError as e1:#取别名,方便打印,分母不能为0 division by zero
    # print("分母不能为0",e1)
    # except ValueError:#值异常
    # print("你输入的不是数字")
    # except:
    # print("未知错误")#除了上面的其他错误
    # else:
    # print("程序没有错误")#程序正确运行会执行一次,如果程序错误,不会执行
    # finally:
    # print("程序运行完毕")#程序执行完毕会执行一次,不管程序错误还是正确

    #日志模块
    import logging
    # logging.debug("---------- debug")
    # logging.info("===============info")
    # logging.warning("=============warning")#默认打印warning及以上的级别
    # logging.error("============error")
    # logging.critical("============critical")

    # logging.basicConfig(level="DEBUG")#打印debug及以上的级别
    # logging.debug("---------- debug")
    # logging.info("===============info")
    # logging.warning("=============warning")#默认打印warning及以上的级别
    # logging.error("============error")
    # logging.critical("============critical")
    import time
    # print(time.strftime("%y-%m-%d %H:%M:%S"))
    # logging.basicConfig(level="DEBUG",filename="./log.log")#把debug及以上的级别写入到log文件中
    # logging.debug(time.strftime("%y-%m-%d %H:%M:%S")+"---------- debug")
    # logging.info("===============info")
    # logging.warning("=============warning")#默认打印warning及以上的级别
    # logging.error("============error")
    # logging.critical("============critical")
    logging.basicConfig(level="DEBUG",filename="./log.log",filemode="a")
    import traceback
    # try:
    # a=int(input("请输入:"))
    # # print(b/a)#触发未知错误
    # print(1/a)
    # except ZeroDivisionError as e1:#取别名,方便打印,分母不能为0 division by zero
    # print("分母不能为0",e1)
    # logging.debug(time.strftime("%y-%m-%d %H:%M:%S")+" "+"分母不能为0"+traceback.format_exc()+str(e1))
    # except ValueError:#值异常
    # print("你输入的不是数字")
    # logging.debug(time.strftime("%y-%m-%d %H:%M:%S")+" "+"你输入的不是数字"+traceback.format_exc())
    # except:
    # print("未知错误")#除了上面的其他错误
    # else:
    # print("程序没有错误")#程序正确运行会执行一次,如果程序错误,不会执行
    # finally:
    # print("程序运行完毕")#程序执行完毕会执行一次,不管程序错误还是正确

    #主动抛出异常,使用raise关键字抛出需要的异常
    # try:
    # raise ZeroDivisionError
    # except:
    # print("fen分母不能为0")
    #所有异常的父类或者祖类都是exception
    # (<class 'ArithmeticError'>,)
    # (<class 'Exception'>,)
    # (<class 'Exception'>,)
    # (<class 'BaseException'>,)
    # (<class 'object'>,)
    # print(ZeroDivisionError.__bases__)
    # print(ArithmeticError.__bases__)
    # print(ValueError.__bases__)
    # print(Exception.__bases__)
    # print(BaseException.__bases__)
    #异常的类型
    ZeroDivisionError,ValueError,IOError,IndexError,FileNotFoundError,NameError
    # list1=[1,3,5]
    # print(list1[5])#IndexError: list index out of range
    # with open("d:/abcde.txt") as f:#FileNotFoundError: [Errno 2] No such file or directory: 'd:/abcde.txt'
    # f.read()

    # print(g)#NameError: name 'g' is not defined

    #断言
    assert 1==1#AssertionError,只对断言错误进行报错
    assert isinstance(1,float)
  • 相关阅读:
    python基础-函数递归
    JS中变量、作用域的本质,定义及使用方法
    JS数据类型和堆栈+变量比较和值的复制+参数传递和类型检测
    宣传页项目开发(三)
    宣传页项目开发(二)
    宣传页项目实战
    CSS Sprite雪碧图应用
    PS切图工具
    根据js轮播图原理写出合理的结构与样式、并实现js交互效果
    JS事件流、DOM事件流、IE事件处理、跨浏览器事件处理、事件对象与类型
  • 原文地址:https://www.cnblogs.com/xiehuangzhijia/p/13832742.html
Copyright © 2011-2022 走看看