如何在Python中获得完整的异常?

2024-06-05 23:13:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python制作Minecraft经典服务器。但是,我的代码中出现以下错误:

Unhandled exception in thread started by <bound method Heartbeat.start of <__main__.Heartbeat object at 0x01FC3810>>

这是我的心跳代码:

^{pr2}$

我如何得到完整的回溯?在


Tags: 代码in服务器by错误exceptionthreadstart
2条回答

您可以使用traceback模块,将您的start()方法重命名为_start(),并将此方法改为:

import traceback

[...]

def start(self, *largs):
    try:
        self._start(*largs)
    except Exception, err:
        exc_type, exc_value, exc_tb = sys.exc_info()
        traceback.print_exception(exc_type, exc_value, exc_tb)

用try/except包装代码

import traceback
import sys

try:
    a = 1 /0


except Exception, inst:
    exc_traceback = sys.exc_info()[2]
    print str(inst) + "\n" + str(traceback.format_tb(exc_traceback)).replace('\\n', '\n')

相关问题 更多 >