[pyar] manejo de excepciones con "try"

Matías Bellone matiasbellone en gmail.com
Jue Dic 19 00:05:48 -03 2019


On Wed, Dec 18, 2019 at 11:46 PM criss pro <crisspro en hotmail.com> wrote:

> Ahh vale. ahora bien, ¡cuál es el problema en el código que puse que no
> captura todas las excepciones, solo la primera?, para la otra me da error
> igualmente.
>

Cuando hacés lo siguiente:


try:
   def funcion():
      raise Exception
except:
   print('UN ERROR!!!!')
funcion()  # BOOM


El bloque dentro del try sólo define una función. Y el definir la función
no genera ninguna excepción, por lo que el código dentro del except no se
ejecuta. La excepción se genera al llamar a la función, que está fuera del
bloque que controla excepciones.

Sobre este tema, te recomiendo leer el PEP 8. En particular, la sección
sobre recomendaciones de programación [1] que dice, entre algunas otras
cosas:

* limitar los bloques try..except a la mínima cantidad de código posible
para evitar esconder bugs
* siempre que sea posible, mencionar excepciones particulares en la
cláusula except (de lo contrario vas a estar evitando el uso de Ctrl-C para
terminar el programa, entre otras cosas)

Saludos,
Toote

[1] https://www.python.org/dev/peps/pep-0008/#programming-recommendations
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20191219/0a1075de/attachment.html>


Más información sobre la lista de distribución pyar