【发布时间】:2013-05-17 14:02:41
【问题描述】:
我有一个名为 plot_pdf(f) 的 Python 函数,它可能会引发错误。我使用列表推导来迭代此函数上的文件列表:
[plot_pdf(f) for f in file_list]
我想使用 try-except 块在迭代循环期间跳过任何可能的错误并继续下一个文件。那么下面的代码是在 Python 列表理解中进行异常处理的正确方法吗?
try:
[plot_pdf(f) for f in file_list] # using list comprehensions
except:
print ("Exception: ", sys.exc_info()[0])
continue
上面的代码会终止当前迭代并进入下一个迭代吗?如果我不能在迭代过程中使用列表推导来捕获错误,那么我必须使用普通的for 循环:
for f in file_list:
try:
plot_pdf(f)
except:
print("Exception: ", sys.exc_info()[0])
continue
我想知道是否可以使用 try-except 在列表理解中进行异常处理。
【问题讨论】:
-
"我使用列表推导来遍历这个函数的文件列表" 咳嗽 COUGH COUGHCHOKERETCH
-
除非您使用由列表推导生成的列表,否则请坚持使用 for 循环。
-
for循环有什么问题?
标签: python exception-handling list-comprehension