Errores de Python y excepciones integradas
Errores de Python y excepciones integradas
En este tutorial, aprenderá sobre los diferentes tipos de errores y excepciones integrados en Python. Se generan cada vez que el intérprete de Python encuentra errores.
Video:Manejo de excepciones de Python
Podemos cometer ciertos errores mientras escribimos un programa que conducen a errores cuando tratamos de ejecutarlo. Un programa de python finaliza tan pronto como encuentra un error no controlado. Estos errores se pueden clasificar en términos generales en dos clases:
- Errores de sintaxis
- Errores lógicos (Excepciones)
Errores de sintaxis de Python
El error causado por no seguir la estructura adecuada (sintaxis) del idioma se denomina error de sintaxis o error de análisis .
Veamos un ejemplo:
>>> if a < 3
File "<interactive input>", line 1
if a < 3
^
SyntaxError: invalid syntax
Como se muestra en el ejemplo, una flecha indica dónde el analizador encontró el error de sintaxis.
Podemos notar aquí que dos puntos :
falta en el if
declaración.
Errores lógicos de Python (excepciones)
Los errores que ocurren en tiempo de ejecución (después de pasar la prueba de sintaxis) se denominan excepciones o errores lógicos .
Por ejemplo, ocurren cuando intentamos abrir un archivo (para leerlo) que no existe (FileNotFoundError
), intente dividir un número por cero (ZeroDivisionError
), o intenta importar un módulo que no existe (ImportError
).
Cada vez que ocurren estos tipos de errores de tiempo de ejecución, Python crea un objeto de excepción. Si no se maneja correctamente, imprime un seguimiento de ese error junto con algunos detalles sobre por qué ocurrió ese error.
Veamos cómo trata Python estos errores:
>>> 1 / 0
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero
>>> open("imaginary.txt")
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
Excepciones integradas de Python
Las operaciones ilegales pueden generar excepciones. Hay muchas excepciones integradas en Python que se generan cuando ocurren los errores correspondientes. Podemos ver todas las excepciones integradas usando el local()
integrado funcionan de la siguiente manera:
print(dir(locals()['__builtins__']))
locals()['__builtins__']
devolverá un módulo de excepciones, funciones y atributos incorporados. dir
nos permite enumerar estos atributos como cadenas.
Algunas de las excepciones integradas comunes en la programación de Python junto con el error que las causa se enumeran a continuación:
Excepción | Causa del error |
---|---|
AssertionError | Se genera cuando un assert la declaración falla. |
AttributeError | Se genera cuando falla la asignación de atributos o la referencia. |
EOFError | Se genera cuando el input() la función llega a la condición de fin de archivo. |
FloatingPointError | Se genera cuando falla una operación de coma flotante. |
GeneratorExit | Aumentar cuando el close() de un generador se llama al método. |
ImportError | Se genera cuando no se encuentra el módulo importado. |
IndexError | Se genera cuando el índice de una secuencia está fuera de rango. |
KeyError | Se genera cuando una clave no se encuentra en un diccionario. |
KeyboardInterrupt | Se genera cuando el usuario pulsa la tecla de interrupción (Ctrl+C o Delete ). |
MemoryError | Se genera cuando una operación se queda sin memoria. |
NameError | Se genera cuando una variable no se encuentra en el ámbito local o global. |
NotImplementedError | Generado por métodos abstractos. |
OSError | Generado cuando la operación del sistema causa un error relacionado con el sistema. |
OverflowError | Se genera cuando el resultado de una operación aritmética es demasiado grande para ser representado. |
ReferenceError | Se genera cuando se usa un proxy de referencia débil para acceder a un referente recolectado de elementos no utilizados. |
RuntimeError | Generado cuando un error no cae en ninguna otra categoría. |
StopIteration | Generado por next() función para indicar que no hay más elementos para ser devueltos por el iterador. |
SyntaxError | Generado por el analizador cuando se encuentra un error de sintaxis. |
IndentationError | Se genera cuando hay una sangría incorrecta. |
TabError | Se genera cuando la sangría consiste en tabulaciones y espacios inconsistentes. |
SystemError | Se genera cuando el intérprete detecta un error interno. |
SystemExit | Generado por sys.exit() función. |
TypeError | Se genera cuando se aplica una función u operación a un objeto de tipo incorrecto. |
UnboundLocalError | Se genera cuando se hace referencia a una variable local en una función o método, pero no se ha vinculado ningún valor a esa variable. |
UnicodeError | Se genera cuando se produce un error de codificación o decodificación relacionado con Unicode. |
UnicodeEncodeError | Se genera cuando se produce un error relacionado con Unicode durante la codificación. |
UnicodeDecodeError | Se genera cuando se produce un error relacionado con Unicode durante la decodificación. |
UnicodeTranslateError | Se genera cuando se produce un error relacionado con Unicode durante la traducción. |
ValueError | Se genera cuando una función obtiene un argumento del tipo correcto pero un valor incorrecto. |
ZeroDivisionError | Se genera cuando el segundo operando de la operación de división o módulo es cero. |
Si es necesario, también podemos definir nuestras propias excepciones en Python. Para obtener más información sobre ellos, visite Excepciones definidas por el usuario de Python.
Podemos manejar estas excepciones integradas y definidas por el usuario en Python usando try
, except
y finally
declaraciones. Para obtener más información sobre ellos, visite las sentencias Try, Except y finalmente de Python.
python
- Palabras clave e identificadores de Python
- Declaración, sangría y comentarios de Python
- Variables, constantes y literales de Python
- Conversión de tipos de Python y conversión de tipos
- Entrada, salida e importación de Python
- Variables globales, locales y no locales de Python
- Números de Python, conversión de tipos y matemáticas
- Administración de archivos y directorios de Python
- Excepciones personalizadas de Python
- ¿Cómo obtener la fecha y hora actuales en Python?
- Java lanza y lanza