Manejo de la excepción TypeError en Python

TypeError es una de las varias excepciones estándar de Python. TypeError se genera cada vez que se realiza una operación en un tipo de objeto incorrecto o no compatible. Por ejemplo, usar el operador + (suma) en una string y un valor entero generará TypeError.

Ejemplos

Las causas generales por las que se genera TypeError son:

1. Operación no admitida entre dos tipos:

En el siguiente ejemplo, la variable ‘geek’ es una string y la variable ‘num’ es un número entero. El operador + (suma) no se puede usar entre estos dos tipos y, por lo tanto, se genera TypeError.

Python3

geek = "Geeks"
num = 4
print(geek + num + geek)

Producción :

TypeError: must be str, not int

2. Llamar a un identificador no llamable:

En el siguiente código de ejemplo, la variable ‘geek’ es una string y no se puede llamar en este contexto. Dado que se llama en la declaración de impresión, se genera TypeError.

Python3

geek = "GeeksforGeeks"
print(geek())

Producción :

TypeError: 'str' object is not callable

3. Tipo incorrecto de índice de lista:

En Python, los índices de lista siempre deben ser un valor entero. Dado que el valor de índice utilizado en el siguiente código es una string, genera TypeError.

Python3

geeky_list = ["geek", "GeeksforGeeks", "geeky", "geekgod"]
index = "1"
print(geeky_list[index])

Producción :

TypeError: list indices must be integers or slices, not str

4. Iterando a través de un identificador no iterativo:

En el siguiente código, el valor 1234.567890 es un número de coma flotante y, por lo tanto, no es iterativo. Obligar a Python a iterar en un identificador no iterativo generará TypeError.

Python3

for geek in 1234.567890:
    print(geek)

Producción :

TypeError: 'float' object is not iterable

Error de tipo de manejo

TypeErrors se generan principalmente en situaciones en las que el programador no puede verificar el tipo de objeto antes de realizar una operación en ellos. Se pueden manejar específicamente mencionándolos en el bloque de excepción. En el siguiente ejemplo, cuando se encuentra que uno de los índices es de un tipo incorrecto, el programa genera y maneja una excepción.

Python3

geeky_list = ["Geeky", "GeeksforGeeks", "SuperGeek", "Geek"]
indices = [0, 1, "2", 3]
for i in range(len(indices)):
    try:
        print(geeky_list[indices[i]])
    except TypeError:
        print("TypeError: Check list of indices")

Producción :

Geeky
GeeksforGeeks
TypeError: Check list of indices
Geek

Publicación traducida automáticamente

Artículo escrito por z0o0p y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *