Lingua-e
← Errores
Python

Qué significa KeyboardInterrupt y cómo solucionarlo

Referencia del error

KeyboardInterrupt

Lenguaje

Python

Severidad

Baja

Cuá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

Python

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