如何解决Python不显示多个引发的ValueErrors
我正在使用具有多个内置引发ValueErrors的脚本,该脚本循环遍历文件夹中的某些文件。它会检查条件,如果发生这种情况,应该为每个循环的文件报告一条错误消息。
但是,它只显示一个文件的一个ValueError消息,而不是所有错误。它仍然为其他文件执行循环。因此,例如,我有文件a和b都应该生成错误,但是python仅显示文件a的错误消息。我已经通过删除文件a检查了它,运行脚本后它确实为文件b生成了一条错误消息
我的部分代码是
for f_name in os.listdir(path):
if f_name.endswith('.xls'):
...
if a < 0:
raise ValueError('error')
else:
xxx
有人知道如何显示所有错误吗?
解决方法
我认为您应该尝试和例外声明,以查找引发异常的文件。 使用这个。
try:
if a < 0:
raise ValueError('error')
else:
xxx
except ValueError:
print(a) #this will print which file isn't satisfying the condition
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。