仅用最后一行堆栈跟踪引发错误
我觉得通常情况下,你可能希望一个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行代码,而且我想执行起来也不会花太多时间,所以我觉得没必要找更好的方法了。