仅用最后一行堆栈跟踪引发错误

1 投票
1 回答
877 浏览
提问于 2025-04-17 07:17

我觉得通常情况下,你可能希望一个Python程序只打印出堆栈追踪的最后一行,通常是打印到标准错误输出,比如:

IOError: Error reading file 'b'plunk'': b'failed to load external entity "plunk"'

我有这个解决方案:

def print_error(ex:Exception, file) -> None:
    print('{0}: {1}'.format(ex.__class__.__name__, ex), file=file)

使用示例:

try:
    crash in some manner
except Exception as ex:
    print_error(ex, sys.stderr)

这样做没有什么特别错误的地方,但这个功能看起来太基础了,我不禁想知道有没有更简单的方法来实现。难道我漏掉了什么吗?还是说这个解决方案不错?

1 个回答

2

我不知道有没有更好的方法,但考虑到这只需要6行代码,而且我想执行起来也不会花太多时间,所以我觉得没必要找更好的方法了。

撰写回答