java's printStackTrace() 在 python 中等效

2022-09-01 18:47:43

在python中,除了块,我想打印错误消息,但我不希望程序停止执行,我知道我必须做这样的事情

try:
    1/0
except: 
    print errorMessage

在例外部分,我希望放一些像java这样的东西printStackTrace()


答案 1

看看traceback.print_exc()回溯模块的其余部分。

import traceback

try:
    1/0
except:
    print '>>> traceback <<<'
    traceback.print_exc()
    print '>>> end of traceback <<<'

回溯文档页面的末尾还有一些示例。


答案 2

如果你真的只需要错误消息,你可以打印错误(注意我如何在 except 中指定异常 - 这是很好的做法,请参阅 pep8 获取有关捕获错误的建议):

try:
    1/0
except Exception as e:
    print e

但是,如果你想要堆栈,正如@Eddified评论中所说的那样,你可以在这个答案中使用这个例子。或者更具体地说,针对您的情况:

import traceback
try:
    1/0
except Exception as e:
    print e
    traceback.print_stack()