Introducción al manejo de excepciones de Python

Las excepciones se manejan en python usando dos técnicas principales, son una aserción y manejo de excepciones. Discutiremos las técnicas de manejo de excepciones de Python en este capítulo.
Cualquier evento que desvíe la ejecución normal del flujo del programa se llama una excepción. El bloque Try contiene posibles códigos de generación de errores. Poner en orden y gestionar estas excepciones es un proceso llevado a cabo por el bloque except que se inserta al final de cada bloque try. Un solo bloque de prueba puede asociar más de una excepción en un momento particular, el bloque else cae dentro de la sección de flujo de programa habitual. Todo el código donde no se necesita protección de bloque de prueba se coloca en el bloque else del programa.

Sintaxis:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Lista de excepciones estándar

Excepción: todas las excepciones clase base

StopIteration: cuando el siguiente método del iterador no señala ningún objeto, se genera esta excepción

SystemExit: izado a través de la función sys.exit ().

StandardError: Excepto StopIteration y SystemExit, esto actúa como la clase base para todas las funciones integradas.

ArithmeticError: para todos los errores numéricos, estas excepciones actúan como la clase base.

OverflowError: para un tipo numérico si el cálculo excede el valor máximo posible, entonces se genera este error.

FloatingPointError: la falla de una operación flotante elimina este error

ZeroDivisionError: se genera cuando se produce una situación de división por cero en el código

AssertionError: cuando la declaración de aserción falla, se activa este error

AttributeError: cuando una asignación o una referencia de atributo falla, entonces se genera este error

EOFErroR: se eleva cuando no se llega a más entradas de ninguna de las funciones y se alcanza el final del archivo

ImportError: provocado mientras falla una declaración de importación.

KeyboardInterrupt: se genera cuando hay una interrupción en la ejecución del programa

LookupError: todos los errores de búsqueda se incluyen en esta clase base

IndexError: se eleva cuando no se encuentra el índice

KeyError: se genera cuando el diccionario no contiene el valor clave mencionado

NameError: provocado por un identificador faltante local o globalmente en el programa

UnboundLocalError: se genera cuando se usa una variable local sin que se le asigne ningún valor.

EnvironmentError: clase base para errores orientados al entorno que se producen fuera de python

IOError: provocado mientras un proceso de entrada / salida no tiene éxito

SyntaxError: esta excepción maneja todos los errores orientados a la sintaxis de Python

IndentationError: una sangría incorrecta conducirá a este tipo de errores

SystemError: esto ocurre en una situación en la que el intérprete no funciona como se esperaba, pero este error no hace que el programa Python deje de ejecutarse

SystemExit: cuando el intérprete de Python utiliza la función sys.exit (), esto lleva a esta excepción. esto hace que el código finalice de manera anormal cuando no se maneja correctamente.

TypeError: cuando una operación no es válida para un tipo de datos en particular, se genera este error

ValueError: cuando una función contiene un argumento de tipo válido pero se especifica un valor incorrecto para ese argumento de tipo

RuntimeError: si alguna de las categorías anteriores no está satisfecha, se genera este error

NotImplementedError: generado mientras que un método no figurativo que se quiere poner en práctica en una clase heredada no está implementado. Poner en orden y gestionar estas excepciones es un proceso llevado a cabo por el bloque except que se inserta al final de cada bloque try.

Proceso de manejo de excepciones en Python

  • Excepto cláusula con múltiples excepciones
  • Excepto cláusula sin excepción mencionada
  • Excepto cláusula con argumentos

A continuación discutiremos el proceso de manejo de excepciones en Python

1. Excepto cláusula con múltiples excepciones

Esto permite que se declare más de una declaración excepto en una cláusula excepto y todas estas excepciones declaradas se pueden generar a partir de esta cláusula excepto.

Sintaxis:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. Excepto cláusula sin excepción

Todas las excepciones activadas desde el bloque try pueden procesarse aquí.

Sintaxis:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Excepto cláusula con argumentos

La causa real de la excepción se mantendrá en el valor del argumento

Sintaxis:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Programa de manejo de excepciones

Sintaxis:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Conclusión

Cada lenguaje de programación lleva a cabo el proceso de generar una excepción cada vez que se enfrenta a un conjunto inesperado de situaciones y Python es una de ellas que produce técnicas profundas para manejar estas excepciones, lo que lo convierte en un lenguaje de programación de base fuerte.

Artículo recomendado

Esta ha sido una guía para el manejo de excepciones de Python. Aquí discutimos la lista de excepciones estándar y el proceso junto con la sintaxis. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Ventajas de Python
  2. Marcos de Python
  3. Patrones en Python
  4. Compiladores de Python
  5. Manejo de excepciones en VB.NET (ejemplos)
  6. Diccionario en Python
  7. VB.Net Events