擅长:python、mysql、java
<p>从<a href="https://docs.python.org/2/howto/doanddont.html#except" rel="nofollow">documentation</a>:</p>
<blockquote>
<p>Because except: catches all exceptions, including SystemExit,
KeyboardInterrupt, and GeneratorExit (which is not an error and should
not normally be caught by user code), using a bare except: is almost
never a good idea. In situations where you need to catch all “normal”
errors, such as in a framework that runs callbacks, you can catch the
base class for all normal exceptions, Exception. Unfortunately in Python 2.x it is<br/>
possible for third-party code to raise exceptions that do not inherit from Exception, so
in Python 2.x there are some cases where you may have to use a bare except: and manually > re-raise the exceptions you don’t want to catch.</p>
</blockquote>
<p>一般来说,最好是捕获显式异常。在python2中,如果一个外部模块抛出了一个未继承异常的东西,那么您仍然无法捕捉到异常。在</p>
<p>通过捕捉显式异常,您可以处理您知道可能发生的错误。如果你包揽一切,你的应用程序可能会做一些意想不到的事情,你可能会错误地处理它。在</p>
<p>另外,你真的想抓住某人用Ctrl+C结束你的程序吗?在</p>