<p>我有一个名为<code>plot_pdf(f)</code>的Python函数,它可能会抛出错误。我使用列表理解来迭代此函数上的文件列表:</p>
<pre><code>[plot_pdf(f) for f in file_list]
</code></pre>
<p>我想使用try except块跳过迭代循环期间可能出现的任何错误并继续下一个文件。那么在Python列表理解中,下面的代码是正确的异常处理方式吗?</p>
<pre><code>try:
[plot_pdf(f) for f in file_list] # using list comprehensions
except:
print ("Exception: ", sys.exc_info()[0])
continue
</code></pre>
<p>上面的代码会终止当前的迭代并进入下一个迭代吗?如果我不能在迭代期间使用列表理解来捕获错误,那么我必须使用普通的<code>for</code>循环:</p>
<pre><code>for f in file_list:
try:
plot_pdf(f)
except:
print("Exception: ", sys.exc_info()[0])
continue
</code></pre>
<p>我想知道除了在列表理解中进行异常处理之外,我是否可以使用try。</p>