rank vote url
25 587 87 877 url

在一行里获取多个异常

我知道这样:

  1. try:
  2. # 可能错的地方
  3. except:
  4. # 如果错了执行这里

也知道这样:

  1. try:
  2. # 可能错的地方
  3. except IDontLikeYourFaceException:
  4. # 给爷笑一个
  5. except YouAreTooShortException:
  6. # 踩高跷

但是我想在两个不同的异常里做同样的事,我能想到的办法:

  1. try:
  2. # 可能错的地方
  3. except IDontLIkeYouException:
  4. # 滚
  5. except YouAreBeingMeanException:
  6. # 滚

有什么方法能像下面那样:

  1. try:
  2. # 可能错的地方
  3. except IDontLIkeYouException, YouAreBeingMeanException:
  4. # 滚

现在下面的代码根本不好使:

  1. try:
  2. # 可能错的地方
  3. except Exception, e:
  4. # 滚

所以有什么方法可以完成我的要求吗?


用括号扩起来:

  1. except (IDontLIkeYouException, YouAreBeingMeanException) as e:
  2. pass

用逗号分割的方法只能在Python2.6和2.7里好使,在Python3中则无效;现在,你应当使用as.

原文: https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/25/README.html