『Python』如何筛选异常回溯信息(Exception traceback)

在给代码 D e b u g Debug Debug 时觉得看一长串异常信息太累了,特别是依赖关系很多时会看到崩溃,偶然看了下 t r a c e b a c k traceback traceback 的源码,发现可以筛选出特定文件内的异常

Last updated:   \space   2023/08/19

from traceback import TracebackException
import pandas as pd
import sys


def logic():
    df_1 = pd.DataFrame(data={'column_1': [2, 3, 4, 5], 'column_2': ['a', 'b', 'c', 'd']})
    df_2 = pd.DataFrame(data={'column_1': [3, 4, 5, 6], 'column_2': ['a', 'b', 'c', 'd']})
    df_1.join(df_2.set_index('column_1'), on='column_1')


def run():
    logic()


if __name__ == '__main__':
    try:
        run()
    except Exception as e:
        log_summary = '\n'
        e_type, value, tb = sys.exc_info()
        for line in TracebackException(e_type, e, tb).format(chain=True):
        	if 'src' in line:
        		log_summary += line
		log_summary += f'\n{e_type}: {e}'
		print(log_summary)

筛选后的异常信息

在这里插入图片描述

筛选前

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值