Как уничтожить исключение в python3?

Этот код:

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

печать a=1, b=2, c=3 в Python 2, но поднимает SyntaxError в Python 3:

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

Как я могу деструктурировать исключения в Python 3?

Следующее, кажется, работает (вдохновленный учебником):

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))

но уродливо (и добавляет дополнительную строку кода), который является PITA при преобразовании кодовой базы 2 в 3.

0 ответов

Другие вопросы по тегам