Hoja de trucos sobre tipos de errores y excepciones incorporada de Python

Guía de referencia para tipos de errores comunes de Python. Aprenda a depurar ValueError, TypeError, IndexError, KeyError y generar excepciones.

Excepciones comunes de lógica y valor

Excepciones que representan operaciones no coincidentes, índices faltantes o fallas de variables.

Método / FunciónSintaxisDescripción
ValueErrorint("abc")Se genera cuando una función recibe un argumento del tipo correcto pero con un valor inadecuado.
TypeError"1" + 2Generado cuando una operación o función se aplica a un objeto de tipo inadecuado.
IndexErrormy_list[10]Se genera cuando un subíndice de secuencia está fuera de rango.
KeyErrormy_dict["missing"]Se genera cuando no se encuentra una clave del diccionario.
AttributeErrormy_str.append("x")Se genera cuando falla una referencia o asignación de atributo (por ejemplo, llamar a métodos de lista en una cadena).

Excepciones de tiempo de ejecución y recursos

Problemas que representan sistemas de archivos externos, fallas de cálculo o errores de sintaxis de ejecución.

Método / FunciónSintaxisDescripción
FileNotFoundErroropen("missing.txt")Se genera cuando se solicita un archivo o directorio pero no existe.
ZeroDivisionError1 / 0Generado cuando el segundo argumento de una operación de división o módulo es cero.
SyntaxErrorwhile True print("hi")Se genera cuando el analizador encuentra un error de sintaxis.
NameErrorprint(undefined_variable)Generado cuando no se encuentra un nombre local o global.
StopIterationnext(exhausted_iterator)Generado por el next() integrado para indicar que el iterador no tiene más elementos.

Guión de demostración interactivo

run_all_cheat_methods.py
Ejecutar en el editor
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

Preguntas frecuentes

¿Cómo detecto múltiples excepciones en Python?

Puede especificarlos como una tupla en un único bloque excepto, por ejemplo, excepto (ValueError, TypeError) como e:.

¿Cuándo debo generar excepciones manualmente?

Genere excepciones utilizando la palabra clave rise cuando ocurra una condición inesperada en su código que impida la ejecución normal, como fallas de validación.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.