我正在尝试记录一些预期的错误。
最初,我的脚本编写如下:
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
日志不存储? 最佳答案
首先发生的任何异常都将被捕获,除了block。因此,我认为在您的情况下,第一个引发异常的是BadZipFile。请参阅@LMKR示例。
尝试显式引发异常以检查其是否有效...
>>> try:
... if True:
... raise MemoryError("MemoryError occured")
... except (BadZipFile, MemoryError) as e:
... print(e)