[英]Correct Line number when doing exception handling in python
我目前使用这种结构来捕获和记录我的异常处理
1. import sys
2.
3. def break_python():
4. test1 = 1/0
5.
6. def main():
7. #All main program functionality is included in this section
8. break_python()
9.
10. if __name__ == "__main__":
11. try:
12. main()
13. except Exception as e:
14. print dir(e)
15. print e.message
16. type1,details,tb = sys.exc_info_()
17. print type1
18. print details
19. print tb
20. line_no = tb.tb_lineno
21. print "Line # " + str(line_no)
22. print "Failed to run program"
当我将其作为我的主程序结构运行时,一切正常,但是当我真的希望它指向单个错误的函数和行号时,该行号将显示为与main()函数调用相对应的第12行4在功能break_python()下
我认为您正在寻找traceback.print_exc(file=sys.stdout)
参见https://docs.python.org/2/library/traceback.html#traceback-examples
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.