擅长:python、mysql、java
<p>当你写<code>except Exception:</code>时,你没有捕捉到所有的异常:系统退出错误和操作系统错误(如<code>BaseException</code>,<code>SystemExit</code>,<code>KeyboardInterrupt</code>和{<cd5>})<a href="https://stackoverflow.com/questions/18982610/difference-between-except-and-except-exception-as-e-in-python">are excluded</a>。在</p>
<p>大多数子进程的异常是<a href="https://docs.python.org/2/library/subprocess.html#exceptions" rel="nofollow noreferrer">^{<cd6>}</a>。<br/>
由于您没有报告错误的完整回溯,所以我只能假设您得到了这些错误中的一个,您可以使用以下方法捕获它们:</p>
<pre><code>except subprocess.CalledProcessError:
</code></pre>
<p>或者</p>
^{pr2}$
<p>正如<a href="https://www.python.org/dev/peps/pep-0008/#exception-names" rel="nofollow noreferrer">PEP 8</a>所建议的那样,您不应该单独使用<code>except:</code>,即使它在您的案例中可以工作。<br/>
作为一个经验法则,总是抓住你特别提出的<em>精确</em>异常!在</p>