我有一系列在一堆文本上运行的进程。 无论出于何种原因,它都可能失败。
如果我想记录每个进程的失败,我应该使用try-except子句吗? 问题是我的代码被try-except所压倒,主要的流程流程被切成碎片。
for path in paths:
with open(path) as file:
text=file.read()
try:
process1(text)
except Exception as e:
handle e
record_failure( process1 , file.name)
continue
try:
process2(text)
except Exception as e:
handle e
record_failure( process2 , file.name)
continue
.
.
.
processN
或者我之后应该在异常日志文件中分析,我认为这并不容易。
有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
您可以将所有流程置于循环中:
allProcs = [process1, process2, processN]
for path in paths:
with open(path) as file:
text=file.read()
for proc in allProcs:
try:
proc(text)
except Exception as e:
# handle e
record_failure( proc , file.name)
continue