如何在我的代码中找到错误的位置?我需要知道它是在函数内部还是外部,以及脚本内部的绝对行号(或者至少在函数内部)。
查看下面的示意图:
我们假设函数 func_b 中存在错误。我要打印: func_b,第4行出错
现在我正在使用
sys.exc_info()[2].tb_lineno
获取行号,但它会打印: my_script.py中的错误,第8行 这不是我想要的。
如果在执行我要打印的任何功能之前出现错误: my_script.py中的错误,第6行
def func_a():
#do something
def func_b():
#do something
try:
#do something
func_a()
func_b()
except Exception as e:
print(...) # print where error occurred.