Comment obtenir le message d'exception en Python correctement

Quelle est la meilleure façon d'obtenir des exceptions " messages à partir des éléments de la bibliothèque standard de Python?

J'ai remarqué que dans certains cas, vous pouvez l'obtenir via message champ comme ceci:

try:
  pass
except Exception as ex:
  print(ex.message)

mais dans certains cas (par exemple, en cas de prise d'erreurs) que vous avez à faire quelque chose comme ceci:

try:
  pass
except socket.error as ex:
  print(ex)

Je me demandais est-il de toute façon standard pour couvrir la plupart de ces situations?

  • Vous êtes l'amalgame entre deux choses différentes - except Foo as bar: est le même que except Foo, bar: (à l'exception de l'ancien est plus récente, et continuera de travailler en 3.x), si l'erreur vient avec un message attribut ou de ne pas se séparer.
  • Demandez-vous si l'accès .message pour une erreur est standard ou pas?
  • votre deuxième exemple avec print(msg) est juste un raccourci pour print(str(msg))
  • S Kumar Yep. Il travaillera dans tous les cas?
  • Je crois que l'accès message est obsolète.
  • stackoverflow.com/questions/1272138/...

InformationsquelleAutor FrozenHeart | 2015-10-20