erknrio
5/18/2018 - 3:42 PM

Python try except muestra errores que no deberian ejecutarse

Python try except muestra errores que no deberian ejecutarse

Explicación del error

El problema se da cuando se muestran los errores del try except en un punto en el que no deberían aparecer se pueden dar porque el los print de pantalla y los de error van por dos streams independientes por lo que puede darse que se muestren stdout (prints) aunque se diese el stderr (error).

Tampoco ayuda usar un Except muy genérico del tipo: Except as e:

Solución

Pasa porque los mensaje van bufferizados, para evitarlo podemos ejecutar el script sin bufferizar agregando la opción -u. Ejemplo:

python -u script.py

Ahora deberían mostrarse en orden y no un print después de que se provoque un error.