获取python脚本中发生错误的函数和行号

时间:2017-10-26 10:32:21

标签: python error-handling

如何在我的代码中找到错误的位置?我需要知道它是在函数内部还是外部,以及脚本内部的绝对行号(或者至少在函数内部)。

查看下面的示意图:

我们假设函数 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.

0 个答案:

没有答案