在我看来,通常你可能希望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)
这没有什么特别的错误,但是这个功能看起来非常基本,我不禁想知道是否有更简单的方法。我错过了什么吗?或者这是一个很好的解决方案吗?
答案 0 :(得分:2)
我不知道是否有更好的方法,但考虑到它是6行代码,我无法想象它需要很长时间才能执行,我认为你不需要一个更好的。