[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