¿Por qué se considera dañino un except: a secas?
Opciones
- Es un error de sintaxis en Python 3, así que el programa no se ejecuta
- También captura
KeyboardInterruptySystemExit, así que Ctrl+C no funciona (Opción correcta) - Es mucho más lento, porque Python revisa cada tipo de excepción
- Solo captura
ValueError, así que los demás errores pasan de largo
Respuesta
También captura KeyboardInterrupt y SystemExit, lo que hace difícil detener los programas
Por qué
Un except: a secas captura TODO, incluidos Ctrl+C (KeyboardInterrupt) y sys.exit() (SystemExit). Tu programa puede volverse imposible de detener y los bugs reales quedan ocultos.
Captura solo los errores que esperas (por ejemplo except ValueError:), o como mucho except Exception: y registra el error.
Recuerda
Captura excepciones específicas, nunca todo.