KeyboardInterrupt
Ubicación:
BaseException ← KeyboardInterrupt
Descripción:
Una excepción concreta que surge cuando el usuario usa un atajo de teclado diseñado para terminar la ejecución de un programa (Ctrl-C en la mayoría de los Sistemas Operativos); si manejar esta excepción no conduce a la terminación del programa, el programa continúa su ejecución. Nota: esta excepción no se deriva de la clase Exception. Ejecuta el programa en IDLE.
Código:
# este código no puede ser terminado
# presionando Ctrl-C
from time import sleep
seconds = 0
while True:
try:
print(seconds)
seconds += 1
sleep(1)
except KeyboardInterrupt:
print("¡No hagas eso!")
LookupError
Ubicación:
BaseException ← Exception ← LookupError
Descripción:
Una excepción abstracta que incluye todas las excepciones causadas por errores resultantes de referencias no válidas a diferentes colecciones (listas, diccionarios, tuplas, etc.).
MemoryError
Ubicación:
BaseException ← Exception ← MemoryError
Descripción:
Se produce una excepción concreta cuando no se puede completar una operación debido a la falta de memoria libre.
Código:
# este código causa la excepción MemoryError
# advertencia: ejecutar este código puede ser crucial
# para tu sistema operativo
# ¡no lo ejecutes en entornos de producción!
string = 'x'
try:
while True:
string = string + string
print(len(string))
except MemoryError:
print('¡Esto no es gracioso!')
OverflowError
Ubicación:
BaseException ← Exception ← ArithmeticError ← OverflowError
Descripción:
Una excepción concreta que surge cuando una operación produce un número demasiado grande para ser almacenado con éxito.
Código:
# el código imprime los valores subsequentes
# de exp(k), k = 1, 2, 4, 8, 16, ...
from math import exp
ex = 1
try:
while True:
print(exp(ex))
ex *= 2
except OverflowError:
print('El número es demasiado grande.')