(Python) 未显示多个引发的 ValueErrors

(Python) Multiple raised ValueErrors not displayed

我正在使用一个脚本,该脚本具有多个内置的引发的 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

有人知道如何显示所有错误吗?

我认为您应该尝试except 语句 来查找引发异常的文件。 使用这个。

try:
    if a < 0:
        raise ValueError('error')
    else:
        xxx
except ValueError:
    print(a) #this will print which file isn't satisfying the condition