gpt4 book ai didi

python traceback - 如何引发异常并保留堆栈

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:12 25 4
gpt4 key购买 nike

我有 2 个模块:

a.py:

import b
import traceback
try:
print b.get_val(1)
except Exception as ex:
traceback.print_stack()
print ex

问题是堆栈跟踪没有说明 b.py 的哪一行引发了异常。如果存在实际运行时错误,也会发生这种情况。有什么想法可以显示整个堆栈吗?

b.py

def get_val(val):
print 'hi'
raise Exception('Bad value')

最佳答案

尝试使用 traceback.print_exc() 而不是 traceback.print_stack()

traceback.print_stack() 输出:

hi
File "a.py", line 6, in <module>
traceback.print_stack()
Bad value

traceback.print_exc() 输出:

hi
Traceback (most recent call last):
File "a.py", line 4, in <module>
print b.get_val(1)
File "C:\Users\Ahmed\Desktop\SOF\b.py", line 3, in get_val
raise Exception('Bad value')
Exception: Bad value
Bad value

关于python traceback - 如何引发异常并保留堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40853666/

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