Manejo de la excepción de ValueError en Python

Manejo de la excepción de ValueError en Python
Cuando ocurre un error al momento de ejecutar cualquier script, entonces se llama una excepción. El bloque Try-Except se usa para manejar excepciones en Python. Existen muchas excepciones incorporadas en Python para manejar errores comunes, como IndexError, KeyError, NameError, TypeError, ValueError, etc. El ValueError ocurre en Python cuando se pasa un tipo de argumento correcto, pero se pasa un valor incorrecto a una función. Este tipo de error aparece principalmente para las operaciones matemáticas. Cuando el ValueError ocurre y la forma de manejar este error en Python se ha mostrado en este tutorial.

Diferentes usos de la excepción de ValueError

Los usos de ValueError se han mostrado en la siguiente parte de este tutorial.

Ejemplo-1: elevar el valorerError para datos incorrectos

Cree un archivo de Python con el siguiente script que recaudará un ValueError donde la función int () se ha utilizado para convertir un valor de cadena.

# Defina la primera variable
número1 = 100
# Defina la segunda variable
número2 = int ('hola')
# Imprima la suma de dos variables
Imprimir (número1 + número2)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que el ValueError ha ocurrido en la línea número 4 donde la función int () se ha utilizado para encubrir la cadena, 'hola'.

Ejemplo-2: manejar el valueError usando el bloque try-except

Crear un archivo de python con el siguiente script que tomará el edad valor del usuario. Si se tomará un valor no numérico del usuario para el edad valor, entonces el intentar Block lanzará el ValueError excepción e imprima el mensaje de error personalizado. Si el válido edad El valor se tomará del usuario, entonces el mensaje se imprimirá en función de edad valor.

intentar:
#Asegre el valor de número del usuario
Age = int (input ("Ingrese su edad:"))
"
Verifique que el número sea mayor o igual a 25
y menos o igual a 55
"
Si edad> = 35 y edad <= 55:
Imprimir ("Eres elegible para esta tarea.")
demás:
Imprimir ("No es elegible para la tarea.")
Excepto ValueError:
#Mensaje de huella para ValueError
Imprimir ("Solo los caracteres alfabéticos son aceptables.")

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior para los valores de entrada, 56, 45, 23, y 'veinte'. Aquí, el ValueError ha ocurrido para el valor de entrada ','veinte'Lo cual no es válido.

Ejemplo-3: elevar el valorerError en una función

El ValueError se puede generar sin un try-excepto bloquear usando el aumentar Palabra clave dentro de la función Python. Cree un archivo Python con el siguiente script que calculará la multiplicación de dos números enteros. Si se transmitirá algún valor de argumento no válido a la función, entonces el ValueError se criará.

# Defina la función para la multiplicación
DEF Multiplicación (A, B):
# Verifique el tipo de argumentos
if tipo (a) == str o type (b) == str:
# Elevar el valor de valor
elevar valueError ('el valor de cualquiera o ambas variables es /no son un número.')
demás:
# Multiplica las variables
resultado = a*b
# Imprimir el resultado de la multiplicación
Imprimir ("Multiplicación de % D y % D es % D" % (A, B, Resultado))
# Llame a la función con dos números
Multiplicación (4, 3)
# Llame a la función con un número y una cadena
Multiplicación (5, '6')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, cuando se ha llamado a la función con los valores 5 y '6', entonces el ValueError se ha recaudado por el valor inválido, '6'.

Ejemplo-4: Uso del ValueError dentro y fuera de la función

Cree un archivo Python con el siguiente script que muestra los usos de ValueError dentro y fuera de la función. Aquí el controlar() La función se ha definido para averiguar si un número es positivo o negativo. La función elevará el ValueError Cuando se pasará un valor de argumento no válido a la función. El bloque try-except atrapará el ValueError pasado de la función e imprima el mensaje de error.

# Defina la función
Def Check (N):
intentar:
# Convierta el valor en el entero
val = int (n)
# Verifique que el número sea positivo o negativo
Si val> 0:
imprimir ("El número es positivo")
demás:
imprimir ("El número es negativo")
Excepto ValueError como E:
# Imprima el mensaje de error de la función
Imprimir ("Error dentro de la función:", E)
aumentar
intentar:
# Tome la entrada del usuario
num = input ("Ingrese un número de valor:")
# Llamar a la función
Comprobar (num)
Excepto ValueError como E:
# Imprima el mensaje de error
Imprimir ("Error fuera de la función:", E)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior con los valores de entrada de 6, -3 y 'd'. Aquí el ValueError ha ocurrido dentro y fuera de la función para el valor de entrada, 'D'.

Ejemplo-5: Uso del ValueError con otro error

Cree un archivo de Python con el siguiente script que abrirá un archivo para leer e imprimir el contenido del archivo. Si el nombre de archivo que se ha utilizado en el script no es accesible, el Ioerror se generará, y si el archivo contiene algún carácter alfabético, entonces el ValueError será generado.

intentar:
#Preen el archivo para leer
FH = Open ('Ventas.TXT')
#Define mientras que el bucle lea el archivo línea por línea
Mientras que FH:
#Convertir la línea en el entero
valor = int (FH.Readline ())
#Imprimir el valor
Imprimir (valor)
excepto (valueError, ioError):
"
Imprima el mensaje de error si el archivo es
No se puede leer o el archivo contiene
Cualquier datos de cadena
"
Imprimir ("ValueError o IoError ha ocurrido.")

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí el ValueError ha sido generado porque el ventas.TXT El archivo contiene caracteres alfabéticos en la línea número 6.

Ejemplo-6: Uso del ValueError con el argumento de la línea de comandos

Cree un archivo de Python con el siguiente script que tomará un número del valor de argumento de la línea de comandos. El mensaje particular se imprimirá si se proporciona un valor numérico en el argumento de la línea de comandos, de lo contrario, el ValueError se generará y se imprimirá un mensaje de error.

#Módulo de sys de Import
Sys de importación
intentar:
#Coble el número de argumentos
Si len (sys.argv)> 1:
#Convertir el valor del argumento en el entero
num = int (sys.argv [1])
#Chek El número es mayor o igual a 100
Si num> = 100:
Imprimir ("Debe ingresar un número de menos de 100.")
demás:
imprimir ("El número ingresado es % d" % num)
demás:
Imprimir ("No se da ningún valor de argumento.")
Excepto ValueError:
#Mensaje de huella para ValueError
Imprimir ("Tienes que escribir un número")
finalmente:
#Imprima el mensaje de terminación
Imprimir ("El programa está terminado.")

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior cuando el script se ejecute sin ningún argumento, con los valores de argumento 600 y 60.

Conclusión

El propósito de usar la excepción de ValueError se ha mostrado en este tutorial mediante el uso de múltiples ejemplos para ayudar a los usuarios de Python a conocer los usos de esta excepción correctamente.