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:
- Ventajas de Python
- Marcos de Python
- Patrones en Python
- Compiladores de Python
- Manejo de excepciones en VB.NET (ejemplos)
- Diccionario en Python
- VB.Net Events