En Python, distintos tipos de excepciones pueden ser identificados mediante clases (ya que Python unifica clases y tipos, siendo el tipo una clase). Cada excepción representa un tipo específico de error.
1. Errores Sintácticos Comunes
AttributeError: Intento de acceder a un atributo que no existe en un objeto, por ejemplo, mi_objeto.atributo cuando mi_objeto no tiene ese atributo
IOError: Excepción de entrada/salida; generalmente ocurre cuando no se puede abrir un archivo
ImportError: No se puede importar un módulo o paquete; suele ser un problema de ruta o nombre incorrecto
IndentationError: Subclase de error sintáctico; el código no está correctamente indentado
IndexError: El índice de la secuencia está fuera de los límites, por ejemplo, cuando una lista solo tiene 3 elementos pero intentamos acceder al elemento en posición 5
KeyError: Intento de acceder a una clave que no existe en un diccionario
KeyboardInterrupt: Se presionó Ctrl+C
NameError: Uso de una variable que no ha sido asignada a ningún objeto
SyntaxError: Código de Python inválido, el código no puede ser compilado
TypeError: El tipo del objeto pasado no coincide con el esperado por la función
UnboundLocalError: Intento de acceder a una variable local que no ha sido inicializada, usualmente porque existe una variable global con el mismo nombre
ValueError: Se pasó un valor no esperado por la función, aunque el tipo sea correcto
2. Más Tipos de Errores
ArithmeticError
AssertionError
AttributeError
BaseException
BufferError
BytesWarning
DeprecationWarning
EnvironmentError
EOFError
Exception
FloatingPointError
FutureWarning
GeneratorExit
ImportError
ImportWarning
IndentationError
IndexError
IOError
KeyboardInterrupt
KeyError
LookupError
MemoryError
NameError
NotImplementedError
OSError
OverflowError
PendingDeprecationWarning
ReferenceError
RuntimeError
RuntimeWarning
StandardError
StopIteration
SyntaxError
SyntaxWarning
SystemError
SystemExit
TabError
TypeError
UnboundLocalError
UnicodeDecodeError
UnicodeEncodeError
UnicodeError
UnicodeTranslateError
UnicodeWarning
UserWarning
ValueError
Warning
ZeroDivisionError
3. Todas las Clases de Excepciones Estándar de Python
| Nombre de Excepción | Descripción |
|---|---|
| BaseException | Clase base de todas las excepciones |
| SystemExit | El intérprete solicita salir |
| KeyboardInterrupt | El usuario interrumpe la ejecución (usualmente con ^C) |
| Exception | Clase base para errores estándar |
| StopIteration | El iterador no tiene más valores |
| GeneratorExit | Un generador notifica su salida mediante una excepción |
| SystemExit | El intérprete de Python soliciat salir |
| StandardError | Clase base para todas las excepciones estándar incorporadas |
| ArithmeticError | Clase base para errores numéricos |
| FloatingPointError | Error en cálculo de punto flotante |
| OverflowError | Operación numérica excede el límite máximo |
| ZeroDivisionError | División (o módulo) por cero |
| AssertionError | Una aserción falla |
| AttributeError | El objeto no tiene el atribuot |
| EOFError | Fin de archivo inesperado en entrada |
| EnvironmentError | Clase base para errores del sistema operativo |
| IOError | Falló una operación de entrada/salida |
| OSError | Error del sistema operativo |
| WindowsError | Falló una llamada al sistema |
| ImportError | Fallo al importar módulo/objeto |
| KeyboardInterrupt | Interrupción por el usuario (usualmente ^C) |
| LookupError | Clase base para consultas de datos inválidas |
| IndexError | Índice fuera de rango en secuencia |
| KeyError | Clave no encontrada en diccionario |
| MemoryError | Error de desbordamiento de memoria (no es fatal para el intérprete) |
| NameError | Variable no declarada/inicializada |
| UnboundLocalError | Acceso a variable local no inicializada |
| ReferenceError | Referencia a objeto ya recolectado por el garbage collector |
| RuntimeError | Error de tiempo de ejecución general |
| NotImplementedError | Método no implementado |
| SyntaxError | Error de sintaxis en Python |
| IndentationError | Error de indentación |
| TabError | Mezcla de tabs y espacios |
| SystemError | Error general del sistema del intérprete |
| TypeError | Operación no válida para el tipo de objeto |
| ValueError | Argumento inválido pasado a función |
| UnicodeError | Error relacionado con Unicode |
| UnicodeDecodeError | Error al decodificar Unicode |
| UnicodeEncodeError | Error al codificar Unicode |
| UnicodeTranslateError | Error al traducir Unicode |
| Warning | Clase base para advertencias |
| DeprecationWarning | Advertencia sobre características obsoletas |
| FutureWarning | Advertencia sobre cambios futuros en la semántica |
| OverflowWarning | Advertencia antigua sobre promoción automática a long |
| PendingDeprecationWarning | Advertencia sobre características que serán obsoletas |
| RuntimeWarning | Advertencia sobre comportamiento sospechoso en tiempo de ejecución |
| SyntaxWarning | Advertencia sobre sintaxis sospechosa |
| UserWarning | Advertencia generada por código de usuario |