擅长:python、mysql、java
<p>这也很难看,但在需要截获大量、非常异构的异常集的情况下,类似这样的方法可能是一个可行的选择。至少它在其他地方排除了一长串例外情况。在</p>
<pre><code>>>> errors = {NameError:'a', ValueError:'b'}
>>> try:
... cornucopia
... except Exception as e:
... e_type = type(e)
... if e_type in errors:
... print errors[e_type]
... else:
... raise
...
a
</code></pre>
<p>显然,如果可能的话,这是要避免的;<a href="https://stackoverflow.com/a/10477105/577088">Bryan Moyles</a>的解决方案在您的特定情况下可能更可取。不过,我想我应该提一下。在</p>