Excepciones integradas
Te mostraremos una breve lista de las excepciones más útiles. Si bien puede sonar extraño llamar "útil" a una cosa o un fenómeno que es un signo visible de una falla o retroceso, como sabes, errar es humano y si algo puede salir mal, saldrá mal.
Las excepciones son tan rutinarias y normales como cualquier otro aspecto de la vida de un programador.
Para cada excepción, te mostraremos:
- Su nombre.
- Su ubicación en el árbol de excepciones.
- Una breve descripción.
- Un fragmento de código conciso que muestre las circunstancias en las que se puede generar la excepción.
Hay muchas otras excepciones para explorar: simplemente no tenemos el espacio para revisarlas todas aquí.
ArithmeticError
Ubicación:
BaseException ← Exception ← ArithmeticError
Descripción:
Una excepción abstracta que incluye todas las excepciones causadas por operaciones aritméticas como división cero o dominio inválido de un argumento.
AssertionError
Ubicación:
BaseException ← Exception ← AssertionError
Descripción:
Una excepción concreta generada por la instrucción de aserción cuando su argumento se evalúa como False
(falso), None
(ninguno), 0
, o una cadena vacía.
Código :
from math import tan, radians
angle = int(input('Ingresa el angulo entero en grados: '))
# debemos estar seguros de ese angulo != 90 + k * 180
assert angle % 180 != 90
print(tan(radians(angle)))
BaseException
Ubicación:
BaseException
Descripción:
La excepción más general (abstracta) de todas las excepciones de Python: todas las demás excepciones se incluyen en esta; se puede decir que las siguientes dos excepciones son equivalentes: except:
y except BaseException:
.
IndexError
Ubicación:
BaseException ← Exception ← LookupError ← IndexError
Descripción:
Una excepción concreta que surge cuando se intenta acceder al elemento de una secuencia inexistente (por ejemplo, el elemento de una lista).
Código:
# el codigo muestra una forma extravagante
# de dejar el bucle
lista = [1, 2, 3, 4, 5]
ix = 0
doit = True
while doit:
try:
print(lista[ix])
ix += 1
except IndexError:
doit = False
print('Listo')