【Python】traceback 模块_跟踪异常返回信息

异常捕获模块(traceback)

  traceback.format_exc()  以字符串返回异常信息

  traceback.print_exc()  直接打印出异常信息

if __name__ == "__main__":
    try:
        1 / 0
    except Exception as e:
        # format_exc()返回异常信息字符串,print_exc()则直接给打印异常信息
        traceback.print_exc()
        print(traceback.format_exc())

 执行结果:  

 

 

 

复制代码
if __name__ == "__main__":
    try:
        1 / 0
    except Exception as e:
        # print_exc()则直接给打印异常信息
        # traceback.print_exc()
        # 填入file参数,把异常信息填入到指定的file里
        traceback.print_exc(file=open("a.log", "w"))
        # format_exc()返回异常信息字符串;
        print(traceback.format_exc())
复制代码

 

 

执行结果:  

 

 

sys.exc_info()方法:获取异常信息

sys.exc_info() 方法会将当前的异常信息以元组的形式返回,该元组中包含 3 个元素:
  type:异常类型的名称
  value:捕获到的异常实例
  traceback:是一个 traceback 对象。

 

import sys

if __name__ == "__main__":
    try:
        1/0
    except:
        log.error(sys.exc_info())

 

执行结果:  

 

 

 

 

 

 

拓展


 

loguru 中 @log.catch 装饰器 代替 Traceback

@log.catch
def a():
    return 1/0

if __name__ == "__main__":
    a()

 

 

 

 

 

 

posted @   Phoenixy  阅读(177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示