除了以外的区别:和Exception除外:

时间:2013-05-09 16:20:10

标签: python

之间有什么区别吗? except:except Exception:

except可以处理任何不例外的事情吗?

2 个答案:

答案 0 :(得分:6)

从Python 2.5开始,有一个新的BaseException作为Exception的基类。因此,直接来自BaseException的{​​{3}}内容会被except:捕获,而不会被except Exception:抓住。

答案 1 :(得分:0)

这是来自doc

  

如果发生的异常与。中指定的异常不匹配   除了子句,它被传递给外部的try语句;如果没有处理程序   找到了,它是一个未处理的异常,执行停止了   消息如上所示。

你甚至可以更具体。

>>> while True:
...     try:
...         x = int(raw_input("Please enter a number: "))
...         break
...     except ValueError:
...         print "Oops!  That was no valid number.  Try again..."

此处,只有在遇到命名错误ValueError

时才输入except子句