Pitón

Manejo de excepciones en Python

Manejo de excepciones en Python
Cuando ejecutamos cualquier código que contiene un error, el error se muestra en la salida al detener la ejecución del programa. Algunos errores pueden no ser reconocidos por los usuarios 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 para ellos saber el motivo del error. En cualquier programación orientada a objetos, trata de atraparlo o intentar atrapar finalmente El bloque se usa para manejar errores y mostrarlos en un formato legible que se llama manejo de excepciones. En este tutorial se muestra cómo se puede realizar el manejo de excepciones en la secuencia de comandos de Python.

Sintaxis:

intentar:
cuadra…
excepto excepción:
manipulador…
demás:
cuadra…
finalmente:
cuadra…

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

Ejemplo 1: uso de un solo bloque try-except para validar 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 otra es un valor numérico.  Si el usuario escribe cualquier valor de cadena en lugar del valor numérico para la segunda entrada, ValueError la excepción será generada por python3 y se mostrará un mensaje de error personalizado desde excepto cuadra.

#!/ usr / bin / env python3
# Definir el bloque try
intentar:
# Toma cualquier dato como una cadena
name = input ("Ingrese su nombre: \ n")
# Toma cualquier dato numérico
age = int (input ("Ingresa tu edad: \ n"))
# Imprime los datos formateados con nombre y edad
print ("Hola% s, tienes% s años." %(nombre Edad))
# manejar errores de entrada
excepto (ValueError):
# Imprimir mensaje de error personalizado
print ("Entrada incorrecta! Tienes que escribir un número según 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 usuario escribe 'Treinta y uno' como valor de edad para la segunda entrada que toma un valor numérico y luego un ValueError se genera y el mensaje de error se muestra desde el bloque except. La segunda vez, no se genera ningún error para los valores de entrada correctos.

Ejemplo 2: uso de varios bloques except para manejar varios errores:

En este ejemplo se muestra cómo puede usar varios bloques except para manejar varios errores.  En este script se manejarán dos tipos de errores. Se toma un nombre de archivo como entrada del usuario para su lectura. Si el archivo no existe, generará un IOError excepción y si el archivo existe pero está vacío, generará una excepción personalizada. Para ello, en este script se utilizan dos bloques excepto. Cuando no se produce ninguno de los errores, se mostrará el contenido del archivo.

#!/ usr / bin / env python3
# Importar módulo de sistema operativo
importar sistema operativo
# Definir el bloque try
intentar:
# Toma el nombre del archivo como entrada
filename = input ('Ingrese un nombre de archivo \ n')
# Abra el archivo para leer
file_handler = open (nombre de archivo)
# Establezca el contador de búsqueda de 0 al final del archivo
manejador_archivo.buscar (0, os.SEEK_END)
# Leer el tamaño del archivo en bytes
tamaño = manejador_archivo.contar()
# Imprime el contenido del archivo y el número de caracteres del archivo
si (tamaño> 0):
# Establecer el ponter al inicio del archivo
manejador_archivo.buscar (0)
# Leer y almacenar el contenido del archivo en una variable
file_content = file_handler.leer()
print ("\ nEl contenido del archivo que se muestra a continuación \ n")
imprimir (contenido_archivo)
print ("El tamaño del archivo es% d bytes"% tamaño)
demás:
# Generar excepción si el archivo está vacío
raise Exception ('El archivo no tiene contenido.')
# Imprime el mensaje de error si el archivo no existe
excepto IOError como error:
imprimir (error)
# Imprime el mensaje de error si el archivo está vacío
excepto la excepción como e:
print ('Error:% s'% e)
# Imprime el mensaje si no hay error
demás:
print ('No ocurre ningún error')

Producción:

El script se ejecuta tres veces. La primera vez, se proporciona un nombre de archivo que no existe y la salida muestra un mensaje IOError. La segunda vez, se da un nombre de archivo que existe 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 try-except-finally para manejar el error de división

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

#!/ usr / bin / env python3
# Definir el bloque try
intentar:
# Ingrese dos números flotantes
n1 = float (input ('Ingresa un número \ n'))
n2 = float (input ('Ingresa un número \ n'))
# Divide estos números
división = n1 / n2
# Manejar errores
excepto (ZeroDivisionError, ValueError):
print ("Dividido por error cero o El valor no es un número")
# Imprimir mensaje si no ocurre ningún error
demás:
print ("El resultado de la división es% f"% division)
# Imprimir mensaje si ocurre un error o no ocurre
finalmente:
print ("El fin")

Producción:

Aquí, el script se ejecuta dos veces con las dos entradas correctas y con la segunda entrada como 0. Entonces, se genera la segunda excepción de tiempo 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 aplicarlo en el script de Python después de practicar los ejemplos anteriores.

WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...
El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...