【发布时间】:2020-10-10 05:40:18
【问题描述】:
我正在尝试记录一些预期的错误。
最初,我编写的脚本如下:
except (BadZipFile, MemoryError) as e:
logger.error(f'No: {n} - {filename} = {e}')
但我在记录器中注意到,似乎只有 BadZipFile 错误消息。 MemoryError 日志在 = 符号之后似乎是空白的
我认为e 可能只存储了BadZipFile 错误消息,因为它首先出现,所以我尝试制作一个元组:
except (BadZipFile, MemoryError) as (eb, em):
logger.error(f'No: {n} - {filename} = {eb, em}')
当然,语法是错误的。那么我的代码最初出了什么问题?为什么MemoryError 日志没有存储?
【问题讨论】:
-
我注意到了同样的事情。 MemoryError 的字符串表示是一个空格。我想原因是如果系统内存不足,它就没有空间告诉你出了什么问题。
-
您处理该错误的方式没有任何问题。这只是意味着内存错误的消息是空白的。你有任何迹象表明它应该是其他的吗?
-
没有理由不这么想,只是不知道。很高兴知道。我可以添加一个条件,如果 e 为空白,则用适当的文本填充它。
标签: python logging error-handling