Repaso
English
PythonBasePY-39

¿Por qué se considera dañino un except: a secas?

Opciones

  1. Es un error de sintaxis en Python 3, así que el programa no se ejecuta
  2. También captura KeyboardInterrupt y SystemExit, así que Ctrl+C no funciona (Opción correcta)
  3. Es mucho más lento, porque Python revisa cada tipo de excepción
  4. 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.

Términos clave

Practica esta pregunta en Repaso