Python异常语法的区别?

时间:2013-12-14 11:32:11

标签: python exception syntax error-handling

我只是对python异常的语法感到好奇,因为当你被假定使用下面的语法来捕获异常时我似乎无法理解。

try:
    """
      Code that can raise an exception...
    """
 except Exception as e:
     pass

try:
    """
      Code that can raise an exception...
    """
 except Exception, e:
     pass

有什么区别?

2 个答案:

答案 0 :(得分:3)

注意:正如Martijn指出的那样,{3.}}表单在Python 3.x中已弃用。因此,使用comma variable形式总是更好。

根据http://docs.python.org/2/tutorial/errors.html#handling-exceptions

as

相当于

except Exception, e:

当您一次捕获多个异常时仍然使用逗号,例如

except Exception as e:

请记住,在捕获多个异常时,必须围绕例外括号。

答案 1 :(得分:1)

Python 3中不推荐使用

except Exception, e

正确的形式是:

try:
    ...
except Exception as e:
    ...

请参阅:http://docs.python.org/3.0/whatsnew/2.6.html#pep-3110