Errores de Python y excepciones integradas

En este tutorial, aprenderá sobre los diferentes tipos de errores y excepciones que están 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 al escribir un programa que conducen a errores cuando intentamos ejecutarlo. Un programa de Python termina tan pronto como encuentra un error no controlado. Estos errores se pueden clasificar ampliamente en dos clases:

  1. Errores de sintaxis
  2. Errores lógicos (excepciones)

Errores de sintaxis de Python

El error causado por no seguir la estructura (sintaxis) adecuada del lenguaje se denomina error de sintaxis o error de análisis .

Veamos un ejemplo:

 >>> if a < 3 File "", line 1 if a < 3 SyntaxError: invalid syntax

Como se muestra en el ejemplo, una flecha indica dónde se encontró el analizador con el error de sintaxis.

Podemos notar aquí que :faltan dos puntos en la ifdeclaració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 leer) que no existe ( FileNotFoundError), intentamos dividir un número por cero ( ZeroDivisionError) o intentamos importar un módulo que no existe ( ImportError).

Siempre que se producen estos tipos de errores en tiempo de ejecución, Python crea un objeto de excepción. Si no se maneja correctamente, imprime un rastreo de ese error junto con algunos detalles sobre por qué ocurrió ese error.

Veamos cómo Python trata estos errores:

 >>> 1 / 0 Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ZeroDivisionError: division by zero >>> open("imaginary.txt") Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in 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 la local()función integrada de la siguiente manera:

 print(dir(locals()('__builtins__')))

locals()('__builtins__')devolverá un módulo de excepciones, funciones y atributos integrados. dirnos permite listar 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 Criado cuando assertfalla una declaración.
AttributeError Se genera cuando falla la asignación o referencia de atributo.
EOFError Se genera cuando la input()función alcanza la condición de final de archivo.
FloatingPointError Se genera cuando falla una operación de coma flotante.
GeneratorExit Aumento cuando close()se llama al método de un generador .
ImportError Se genera cuando no se encuentra el módulo importado.
IndexError Se aumenta cuando el índice de una secuencia está fuera de rango.
KeyError Se genera cuando no se encuentra una clave en un diccionario.
KeyboardInterrupt Se genera cuando el usuario pulsa la tecla de interrupción ( Ctrl+Co 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 Criado por métodos abstractos.
OSError Se genera cuando el funcionamiento del sistema provoca 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 basura.
RuntimeError Se genera cuando un error no se incluye en ninguna otra categoría.
StopIteration Generado por next()función para indicar que el iterador no debe devolver más elementos.
SyntaxError Lo genera el analizador cuando se encuentra un error de sintaxis.
IndentationError Se eleva cuando hay una sangría incorrecta.
TabError Aumenta cuando la sangría consiste en tabulaciones y espacios inconsistentes.
SystemError Se genera cuando el intérprete detecta un error interno.
SystemExit Criado 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 una 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 de tipo correcto pero valor incorrecto.
ZeroDivisionError Se genera cuando el segundo operando de división o operación de 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 incorporados y definidos por el usuario en Python utilizando try, excepty finallydeclaraciones. Para obtener más información sobre ellos, visite Python try, except y.

Articulos interesantes...