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

Posted teachertao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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日志结果如下:

技术图片

 

调试

技术图片

 

 

以上是关于python -- 程序异常与调试(程序调试)的主要内容,如果未能解决你的问题,请参考以下文章

Python-异常处理与调试

零基础学Python--------第9章 异常处理及程序调试

Python内置的处理异常机制与调试

软件调试

Linux内核调试:“Python异常 当尝试在gdb中使用帮助程序脚本时,没有名为module_core的成员

Python程序高效地调试