Как узнать, какой аргумент имеет сообщение об ошибке при разрешении исключений? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь разрешить исключения. В python2 я писал так:

        except (Exception,InternalError,SQLAlchemyError) as e:
        message = e.message;

Но в python3 выдает ошибку, что атрибутное сообщение не найдено. Теперь я попробовал это:

        except (Exception,InternalError,SQLAlchemyError) as e:
        message = e[0]

Но как мне узнать, какой аргумент e [0], e [1] и т. Д. Исключения будет содержать сообщение? мне нужно только сообщение, а не все аргументы исключения.

1 Ответ

0 голосов
/ 27 мая 2019

Вместо e.message, python3 теперь имеет e.args, который является кортежем аргументов.Это позволяет разработчикам возвращать несколько аргументов.Однако, если передается только один аргумент, то, по существу, e.message эквивалентно e.args[0]

Вот документация

...