Python——第五章:Traceback模块

traceback 模块提供了在程序中处理和分析异常时的工具,帮助开发人员更好地理解程序出现问题的原因。

使用 traceback.format_exc() 函数可以获取当前异常的堆栈信息。可以把错误信息、代码的错误位置等异常记录下来,显得十分直观,还不影响程序继续运行。

import traceback

try:
    print(1/0)
except:
    print("程序出错了")
    print(traceback.format_exc())

print(6666)

#运行结果
程序出错了
Traceback (most recent call last):
  File "D:\Python\py基础\05 模块和包\traceback模块.py", line 4, in <module>
    print(1/0)
          ~^~
ZeroDivisionError: division by zero

6666

下面举例一个完整的logging模块+traceback模块+处理异常的生产操作过程

import traceback
import logging

# 把错误日志记录到x2.txt中
logging.basicConfig(filename='x2.txt',
                    format='%(asctime)s – %(name)s – %(levelname)s - %(module)s:    %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    level=0,
                    encoding='utf-8')

try:
    print(1/0)
except:
    print("程序出错了")
    logging.error(traceback.format_exc())
    
#运行结果
程序出错了

我们在生成的x2.txt文件中显示的内容如下

2023-12-13 18:00:48 – root – ERROR - traceback模块:    Traceback (most recent call last):
  File "D:\Python\traceback模块.py", line 12, in <module>
    print(1/0)
          ~^~
ZeroDivisionError: division by zero

 

posted @ 2023-12-13 17:29  Magiclala  阅读(40)  评论(0编辑  收藏  举报