• python -- 程序异常与调试(程序调试)


    一、程序调试

    A、使用assert语句检测程序代码中的错误。

      assert 表达式[, 参数]

      如果表达式为True,则继续往下运行;如果为False,则抛出一个AssertionError异常,并且输出asser语句的参数作为错误信息字符串。

    B、使用日志模块logging打印跟踪信息,调试程序。

      import logging

      logging.basicConfig(level=logging.DEBUG)

      logging.info()

    C、使用PyCharm的调试器调试序(Debug)。

    # -----------------------------------------
    # 使用assert语句检测程序代码中的错误
    # -----------------------------------------
    # 如果参数类型不是字符串,则抛出AssertionError异常
    def check_type(arg):
    assert type(arg) == str, "参数类型不是字符串"


    check_type("10")

    # 如果父亲的年龄小于儿子的年龄,就抛出AssertionError异常
    f_age = 50 # 父亲的年龄
    s_age = 22 # 儿子的年龄
    assert f_age > s_age, "错误的父子年龄信息!"

    import logging
    # logging.basicConfig(level=logging.DEBUG) # 配置日志的显示级别
    # 通过格式化字符串指定输出信息的格式
    logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(filename)s - %(levelname)s - %(message)s')
    # -----------------------------------------
    # 使用日志模块logging打印跟踪信息,调试程序
    # -----------------------------------------
    x = 1
    while x < 5:
    for y in range(1, 5):
    # 打印跟踪信息
    logging.info("x={}, y={}".format(x, y))

    # do something
    x += 1

    # logging记录信息的级别有debug、info、warning、error和critical
    logging.debug("logging debug")
    logging.info("logging info")
    logging.warning("logging warning")
    logging.error("logging error")
    logging.critical("logging critical")

    打印logging.DEBUG日志结果如下:

    调试

     
  • 相关阅读:
    二分图的匹配(未完) yongmou
    树型动态规划 yongmou
    最大堆 yongmou
    C/C++ 编程环境搭建与配置 eclipse + cdt + MinGW yongmou
    ACM必备(学完一个就加亮一个)不多,就这些! yongmou
    joj 2558 Ocean Currents 特别的广搜 yongmou
    Android:自定义对话框
    ubuntu升级11.10后ADT无法安装解决办法
    处理GridView数据源(DataTable)为空行(转)
    ASP.NET无法连接到SQL Server的问题
  • 原文地址:https://www.cnblogs.com/Teachertao/p/11223285.html
Copyright © 2020-2023  润新知