Lingua-e
Python

¿Qué significa KeyboardInterrupt?

← Errores

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.

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ómo solucionarlo

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.

Código corregido

import time
try:
    while True:
        time.sleep(1)
        print("Running...")
except KeyboardInterrupt:
    print("Stopped by user")

Errores relacionados

¿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