Qué significa KeyboardInterrupt y cómo solucionarlo
Referencia del error
KeyboardInterrupt
Lenguaje
Severidad
BajaCuándo ocurre
KeyboardInterrupt se lanza cuando el usuario presiona Ctrl+C (o la tecla de interrupción) para detener un programa en ejecución.
Posibles soluciones
Captura KeyboardInterrupt explícitamente si necesitas realizar limpieza antes de salir. Usa un bloque finally para asegurarte de que los recursos como identificadores de archivo y conexiones de red se cierren independientemente de cómo salga el programa. Evita capturar BaseException de forma amplia.
Errores relacionados
Más detalles
KeyboardInterrupt se lanza cuando el usuario presiona Ctrl+C (o la tecla de interrupción) para detener un programa en ejecución. Es una subclase de BaseException, no de Exception, por lo que las cláusulas except: simples la capturarán pero except Exception: no lo hará.
Por qué ocurre
- •El usuario interrumpe manualmente un script de larga duración con Ctrl+C.
- •Un ejecutor de pruebas o gestor de procesos envía SIGINT al proceso.
- •Un script automatizado envía una señal de interrupción programáticamente.
Posibles soluciones
Captura KeyboardInterrupt explícitamente si necesitas realizar limpieza antes de salir. Usa un bloque finally para asegurarte de que los recursos como identificadores de archivo y conexiones de red se cierren independientemente de cómo salga el programa. Evita capturar BaseException de forma amplia.
Ejemplos
Código que causa el error
# User presses Ctrl+C during this loop
import time
while True:
time.sleep(1)
print("Running...")Error en la terminal
Running... Running... ^CTraceback (most recent call last): File "app.py", line 3, in <module> KeyboardInterrupt
Código corregido
import time
try:
while True:
time.sleep(1)
print("Running...")
except KeyboardInterrupt:
print("Stopped by user")Practica en inglés
¿Cómo le explicarías un KeyboardInterrupt a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis