如何捕获默认错误?

时间:2012-06-09 18:32:37

标签: python try-catch

然后在python中使用try catch,您可以捕获错误并将它们与as关键字

的变量对齐
try
  do something..
except IOError as e:
  do something with e..

然而,在不知道错误类型的情况下尝试做同样的事情python抱怨语法。

try
  do something..
except as e:
  do something with e..

有没有办法捕获默认错误并将其作为变量?

3 个答案:

答案 0 :(得分:7)

是的。所有异常都来自Exception类。

所以你可以这样做:

try:
    doSomething()
except Exception as e:
    doSomethingWithException(e)

这是一种无所不能的路线。

答案 1 :(得分:0)

您也可以使用sys.exc_info()。这允许您使用相同的代码处理Python 2.x和Python 3.x上的异常。

答案 2 :(得分:0)

传统方式是:

try:
    do_whatever()
except Exception as e:
    handle_it()

虽然抓住罕见的例外是不明智的。

值得注意的是,KeyboardInterrupt和SystemExit继承自BaseException而不是Exception,所以如果您期望满足这些要求,这些就不会被捕获,但这应该不是问题,因为它们应该在顶级处理