gpt4 book ai didi

python - 有什么方法可以捕获python中发生异常的确切行号

转载 作者:行者123 更新时间:2023-12-05 02:26:57 25 4
gpt4 key购买 nike

您好,有什么方法可以获取发生异常的确切行号吗?因为我使用的是包装器方法,而在实际方法中有很多行代码,而且我遇到了一个非常通用的异常,但不确定它到底发生在哪里。例如代码如下,

import sys
def test(**kwargs):
print (kwargs)
abc

def wraper_test(**kwargs):
try:
test(**kwargs)
except Exception as e:
exception_type, exception_object, exception_traceback = sys.exc_info()
print(exception_object.tfline_no)

wraper_test(hello="test", value="lsdf")

现在在异常行号中我得到的是 test(**kwargs) 而不是生成异常的确切位置,在这种情况下是在测试方法中的“abc”。

当我们使用包装器方法时,有什么方法可以捕获异常中的确切行号吗?

最佳答案

试试这个:traceback 库允许您使用更多行号获得更长的堆栈跟踪(这表明真正的错误在第 5 行)。

import sys, traceback

def test(**kwargs):
print (kwargs)
abc

def wrapper_test(**kwargs):
try:
test(**kwargs)
except Exception as e:
exception_type, exception_object, exception_traceback = sys.exc_info()
traceback.print_tb(exception_traceback, limit=2, file=sys.stdout)

wrapper_test(hello="test", value="lsdf")

关于python - 有什么方法可以捕获python中发生异常的确切行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73496372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com