validar try tipos sirve sintaxis recent que por para most last invalid imprimir excepciones example error ejemplos diferentes python exception exception-handling

tipos - try except python example



¿Cómo obtener el nombre de la excepción atrapada en Python? (2)

¿Cómo puedo obtener el nombre de una excepción que se planteó en Python?

p.ej,

try: foo = bar except Exception as exception: name_of_exception = ??? assert name_of_exception == ''NameError'' print "Failed with exception [%s]" % name_of_exception

Por ejemplo, estoy detectando varias (o todas) excepciones, y quiero imprimir el nombre de la excepción en un mensaje de error.


Aquí hay dos maneras diferentes de obtener el nombre de la excepción:

  1. type(exception).__name__
  2. exception.__class__.__name__

p.ej,

try: foo = bar except Exception as exception: assert type(exception).__name__ == ''NameError'' assert exception.__class__.__name__ == ''NameError''


Esto funciona, pero parece que debe haber una manera más fácil, más directa?

try: foo = bar except Exception as exception: assert repr(exception) == ''''''NameError("name ''bar'' is not defined",)'''''' name = repr(exception).split(''('')[0] assert name == ''NameError''