如何在python3中解构异常?

时间:2018-05-11 19:24:02

标签: python python-3.x destructuring

此代码:

try:
    raise ValueError(1,2,3)
except ValueError as (a,b,c):
    print("a=%s, b=%s, c=%s" % (a,b,c))

在Python 2中打印a=1, b=2, c=3,但在Python 3中引发SyntaxError

    except ValueError as (a,b,c):
                         ^
SyntaxError: invalid syntax

如何在Python 3中解构异常?

以下似乎有效(受tutorial启发):

try:
    raise ValueError(1,2,3)
except ValueError as ex:
    a,b,c = ex.args
    print("a=%s, b=%s, c=%s" % (a,b,c))

但是很丑(并添加了额外的代码行),这是将代码库2转换为3时的PITA。

0 个答案:

没有答案