Как уничтожить исключение в 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.