English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Python

Control de flujo de Python

Funciones en Python

Tipos de datos en Python

Operaciones de archivos Python

Objetos y clases de Python

Fecha y hora de Python

Conocimientos avanzados de Python

Manual de referencia de Python

Errores y excepciones integradas en Python

Python (intérprete) lanza excepciones cuando encuentra errores. Por ejemplo: división por cero. En este artículo, aprenderá sobre los diferentes manejo de excepciones integrados en Python.

En la escritura del programa, a menudo nos encontramos con errores.

Los errores causados por no seguir la estructura correcta del lenguaje (sintaxis) se denominan errores de sintaxis o errores de análisis.

>>> if a < 3
  Archivo "<input interactivo>", línea 1
    if a < 3
           ^
SyntaxError: sintaxis no válida

Aquí podemos notar que falta un dos puntos en la sentencia if.

Los errores también pueden ocurrir en tiempo de ejecución, estos se denominan excepciones. Por ejemplo, cuando intentamos abrir un archivo que no existe (FileNotFoundError), dividir un número por cero (ZeroDivisionError), no encontrar el módulo que intentamos importar (ImportError) y otros, se produce este tipo de situación.

Cada vez que ocurre este tipo de error en tiempo de ejecución, Python crea un objeto de excepción. Si no se maneja adecuadamente, se mostrará el rastro de error para este error, así como algunos detalles sobre la causa del error.

>>> 1 / 0
Traceback (llamada más reciente al final):
 Archivo "<cadena>", línea 301, en runcode
 Archivo "<input interactivo>", línea 1, en <módulo>
ZeroDivisionError: división por cero
>>> open("imaginary.txt")
Traceback (llamada más reciente al final):
 Archivo "<cadena>", línea 301, en runcode
 Archivo "<input interactivo>", línea 1, en <módulo>
FileNotFoundError: [Errno 2Error de archivo no encontrado: 'imaginary.txt'

Excepciones integradas de Python

Operaciones ilegales que pueden lanzar excepciones. Python tiene muchas excepciones integradas, que se lanzan cuando ocurren errores correspondientes. Podemos usar la función integrada local() para ver todas las excepciones integradas, como se muestra a continuación.

>>> locals()['__builtins__']

Esto nos devolverá el diccionario de excepciones, funciones y propiedades integradas.

A continuación se enumeran algunas de las excepciones integradas comunes en la programación Python y los errores que causan estas excepciones.

Excepciones estándar integradas de Python
ExcepciónCausa del error
AssertionErrorSe lanza cuando falla una declaración assert.
AttributeErrorSe lanza cuando falla la asignación o la referencia de una propiedad.
EOFErrorSe lanza cuando la función input() alcanza la condición de final de archivo.
FloatingPointErrorSe lanza cuando falla una operación de coma flotante.
GeneratorExitSe lanza cuando se llama al método de generador en close().
ImportErrorSe lanza cuando no se encuentra el módulo importado.
IndexErrorSe lanza cuando el índice de la secuencia está fuera de rango.
KeyErrorSe lanza cuando no se encuentra una clave en el diccionario.
KeyboardInterruptSe lanza cuando el usuario presiona la tecla de interrupción (Ctrl) + Se lanza cuando se realiza una operación ilegal (como c o Delete).
MemoryErrorSe lanza cuando hay falta de memoria en la operación.
NameErrorSe lanza cuando no se encuentra una variable en el ámbito local o global.
NotImplementedErrorMétodo no implementado.
OSErrorGenerada cuando una operación de sistema provoca un error relacionado con el sistema.
OverflowErrorGenerada cuando el resultado de una operación aritmética es demasiado grande para poder representarlo.
ReferenceErrorGenerada cuando se accede a un objeto de referencia colectada por el recolector de basura a través de un agente de referencia débil.
RuntimeErrorGenerada cuando el error no pertenece a ninguna otra categoría.
StopIterationGenerada por la función next(), para indicar que el iterador no tiene más elementos que devolver.
SyntaxErrorGenerada por el analizador cuando se encuentra un error de sintaxis.
IndentationErrorGenerada cuando la sangría es incorrecta.
TabErrorGenerada cuando la sangría se compone de tabuladores e espacios inconsistentes.
SystemErrorGenerada cuando el intérprete detecta un error interno.
SystemExitGenerada por la función sys.exit().
TypeErrorGenerada cuando una función o operación se aplica a un objeto de tipo incorrecto.
UnboundLocalErrorGenerada cuando se hace referencia a una variable local en una función o método sin que haya un valor asociado a esa variable.
UnicodeErrorGenerada cuando ocurre un error de codificación o decodificación relacionado con Unicode.
UnicodeEncodeErrorGenerada cuando ocurre un error relacionado con Unicode durante la codificación.
UnicodeDecodeErrorGenerada cuando ocurre un error relacionado con Unicode durante la decodificación.
UnicodeTranslateErrorGenerada cuando ocurre un error relacionado con Unicode durante el proceso de traducción.
ValueErrorGenerada cuando una función recibe un parámetro de tipo correcto pero con valor incorrecto.
ZeroDivisionErrorGenerada cuando el segundo operando de la división o el módulo es cero.

También podemos definir nuestras propias excepciones en Python (si es necesario). Visite esta página para obtener información sobrede excepciones definidas por el usuarioMás información. 

Podemos usar las sentencias try, except y finallyManejar estas excepciones integradas y definidas por el usuario en Python.