(Python)未显示多个提升值错误
我正在使用一个包含多个内置提升值错误的脚本,该脚本在文件夹中的某些文件上循环。它检查条件,如果出现这种情况,应该为每个循环的文件报告一条错误消息 但是,它只显示一个文件的一条ValueError消息,而不是所有错误。它仍然为其他文件执行循环。例如,我有文件a和b,它们都应该生成一个错误,但是python只显示文件a的错误消息。我已经通过删除文件a对其进行了检查,在运行脚本之后,它确实为文件b生成了一条错误消息 我的部分代码是(Python)未显示多个提升值错误,python,error-handling,valueerror,Python,Error Handling,Valueerror,我正在使用一个包含多个内置提升值错误的脚本,该脚本在文件夹中的某些文件上循环。它检查条件,如果出现这种情况,应该为每个循环的文件报告一条错误消息 但是,它只显示一个文件的一条ValueError消息,而不是所有错误。它仍然为其他文件执行循环。例如,我有文件a和b,它们都应该生成一个错误,但是python只显示文件a的错误消息。我已经通过删除文件a对其进行了检查,在运行脚本之后,它确实为文件b生成了一条错误消息 我的部分代码是 for f_name in os.listdir(path):
for f_name in os.listdir(path):
if f_name.endswith('.xls'):
...
if a < 0:
raise ValueError('error')
else:
xxx
os.listdir(路径)中f_名称的:
如果f_name.endswith('.xls'):
...
如果a<0:
raise VALUERROR(“错误”)
其他:
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
试试看:
如果a<0:
raise VALUERROR(“错误”)
其他:
xxx
除值错误外:
打印(a)#这将打印不符合条件的文件
注意,raise
将立即拆下堆栈,直到下一个匹配的除外:
。您的代码只会引发一个错误,因为第一个异常已经中止了循环。