Manejo de excepciones en Python

Manejo de excepciones en Python
Cuando ejecutamos cualquier código que contenga un error, el error se muestra en la salida deteniendo la ejecución del programa. Los usuarios pueden no reconocer algunos errores y crear una situación indeseable para ellos. Pero si el error se puede mostrar en un formato comprensible para los usuarios, entonces es fácil saber el motivo del error. En cualquier programación orientada a objetos, trata de atraparlo o try-capch-finalmente El bloque se usa para manejar los errores y mostrarlos en un formato legible que se llama manejo de excepciones. Cómo se puede hacer un manejo de excepciones en el script de Python se muestra en este tutorial.

Sintaxis:

intentar:
bloquear…
Excepto la excepción:
manipulador…
demás:
bloquear…
finalmente:
bloquear…

Aquí, si se produce algún error al ejecutar las declaraciones de intentar Bloque, entonces se generará una excepción y arroje el error al correspondiente excepto manipulador. Se pueden generar múltiples errores en un solo intentar bloquear y luego tienes que escribir múltiples excepto manejadores. Las declaraciones del demás El bloque se ejecutará si no se produce ningún error en el intentar bloquear. Las declaraciones del finalmente el bloque se ejecutará si ocurre o no ocurre algún error. Para manipular de excepción, usando demás y finalmente Los bloques no son esenciales. Diferentes tipos de manejo de excepciones en Python se explican en la siguiente parte del tutorial.

Ejemplo-1: Uso de un solo bloque de try-Except para validar los datos numéricos:

Este ejemplo muestra el uso muy simple del manejo de excepciones en Python. En el intentar Bloque, se tomarán dos entradas del usuario, una es un valor de cadena y otro es un valor numérico. Si el usuario escribe cualquier valor de cadena en lugar de valor numérico para la segunda entrada, entonces, el ValueError La excepción será generada por python3 y se mostrará un mensaje de error personalizado desde excepto bloquear.

#!/usr/bin/env python3
# Defina el bloque de try
intentar:
# Tomar cualquier dato como una cadena
name = input ("Ingrese su nombre: \ n")
# Tomar cualquier datos numéricos
Age = int (input ("Ingrese su edad: \ n"))
# Imprima los datos formateados con nombre y edad
Imprimir ("Hola %s, tiene un %de años." %(nombre Edad))
# Manejar errores de entrada
excepto (valueError):
# Imprimir mensaje de error personalizado
Imprimir ("Entrada incorrecta! Tienes que escribir un número a medida que tu edad.")

Producción:

El script se ejecuta dos veces en la siguiente salida con la entrada incorrecta y la entrada correcta. La primera vez, cuando el tipo de usuario 'Treinta y uno' como valor de edad para la segunda entrada que toma valor numérico y luego un ValueError se genera y el mensaje de error se muestra desde el bloque excepto. La segunda vez, no se genera ningún error para los valores de entrada correctos.

Ejemplo-2: Uso de múltiples excepto bloque para manejar múltiples errores:

En este ejemplo se muestra cómo puede usar múltiples excepto bloque para manejar múltiples errores. Se manejarán dos tipos de errores en este script. Se toma un nombre de archivo como entrada del usuario para leer. Si el archivo no existe, generará un ioerror excepción y si el archivo existe pero vacío, entonces planteará una excepción personalizada. Para esto, dos excepto los bloques se usan en este script. Cuando no ocurre ninguno de los errores, se mostrará el contenido del archivo.

#!/usr/bin/env python3
# Importar módulo OS
importar sistema operativo
# Defina el bloque de try
intentar:
# Tomar el nombre de archivo como entrada
FileName = input ('Ingrese un nombre de archivo \ n')
# Abra el archivo para leer
file_handler = Open (nombre de archivo)
# Establezca el Ponter Seek del 0 al final del archivo
file_handler.buscar (0, OS.Seek_end)
# Lea el tamaño del archivo en bytes
size = file_handler.decir()
# Imprima el contenido del archivo y el número de caracteres del archivo
if (tamaño> 0):
# Establezca el ponter en el inicio del archivo
file_handler.buscar (0)
# Lea y almacene el contenido del archivo en una variable
file_content = file_handler.leer()
imprime ("\ nthe contenido del archivo que se proporciona a continuación \ n")
print (file_content)
Imprimir ("El tamaño del archivo es %d bytes" %de tamaño)
demás:
# Aumentar la excepción si el archivo está vacío
aumentar la excepción ('el archivo no tiene contenido.')
# Imprima el mensaje de error si el archivo no existe
Excepto ioError como error:
Imprimir (error)
# Imprima el mensaje de error si el archivo está vacío
Excepto la excepción como E:
Imprimir ('Error: %S' %E)
# Imprima el mensaje si no hay error
demás:
Imprimir ('No se produce error')

Producción:

El script se ejecuta por tres veces. La primera vez, se da un nombre de archivo que no existe y la salida muestra un mensaje ioError. La segunda vez, se da un nombre de archivo que existen pero no tiene contenido y la salida muestra un mensaje personalizado. La tercera vez, se da un nombre de archivo que existe y contiene texto. La salida muestra el contenido del archivo.

Ejemplo-3: Uso del bloque de try-except-finalmente para manejar el error de división

El ejemplo muestra el uso de un bloque try-except-finalmente para manejar el error de división. Se tomarán dos valores numéricos como entrada y dividirán la primera entrada por segunda entrada en el bloque de try. Pueden ocurrir dos tipos de errores aquí. Uno es ValueError Cuando el usuario escriba cualquier valor sin número y otro es ZeroDivisionError Cuando el usuario tomará 0 Como segunda entrada.

#!/usr/bin/env python3
# Defina el bloque de try
intentar:
# Ingrese dos números flotantes
n1 = float (entrada ('Ingrese un número \ n'))
n2 = float (entrada ('Ingrese un número \ n'))
# Divide estos números
división = n1 / n2
# Manejar errores
Excepto (ZeroDivisionError, ValueError):
imprimir ("dividido por un error cero o el valor no es un número")
# Imprimir mensaje si no se produce ningún error
demás:
imprimir ("El resultado de la división es %f" %división)
# Imprimir mensaje si se produce un error o no se produce
finalmente:
Imprimir ("The End")

Producción:

Aquí, el script se ejecuta durante dos veces con las entradas correctas y con la segunda entrada como 0. Entonces, la segunda excepción se genera y muestra el mensaje de error.

Conclusión:

Este tutorial muestra el proceso básico de manejo de excepciones en Python3 para los nuevos usuarios de Python. Los lectores podrán comprender qué es el manejo de excepciones y cómo aplicar en el script de Python después de practicar los ejemplos anteriores.