Lidando com a exceção do ValueError em Python

Lidando com a exceção do ValueError em Python
Quando ocorre um erro no momento da execução de qualquer script, é chamado de exceção. O bloco Try-Except é usado para lidar com exceções no Python. Muitas exceções internas existem no Python para lidar. O ValueError ocorre em python quando um tipo de argumento correto é passado, mas um valor incorreto é passado para uma função. Esse tipo de erro aparece principalmente para operações matemáticas. Quando o ValueError ocorre e a maneira de lidar com esse erro no Python foi mostrada neste tutorial.

Diferentes usos da exceção do ValueError

Os usos do ValueError foram mostrados na próxima parte deste tutorial.

Exemplo 1: Aumente o ValueError para dados incorretos

Crie um arquivo python com o seguinte script que aumentará um valueError onde a função int () foi usada para converter um valor de string.

# Defina a primeira variável
número 1 = 100
# Defina a segunda variável
número2 = int ('olá')
# Imprima a soma de duas variáveis
Imprimir (número 1 + número2)

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra que o ValueError ocorreu na linha número 4, onde a função int () foi usada para encobrir a string, 'hello'.

Exemplo 2: lidar com o valueError usando o bloco Try-Except

Crie um arquivo python com o seguinte script que levará o idade valor do usuário. Se um valor não numérico será retirado do usuário para o idade valor, então o tentar Bloco jogará o ValueError exceção e imprimir a mensagem de erro personalizada. Se o válido idade O valor será retirado do usuário, então a mensagem será impressa com base no idade valor.

tentar:
#Tome o valor numérico do usuário
idade = int (entrada ("Digite sua idade:"))
"
Verifique se o número é maior ou igual a 25
e menor ou igual a 55
"
Se idade> = 35 e idade <= 55:
print ("Você é elegível para esta tarefa.")
outro:
imprimir ("Você não é elegível para a tarefa.")
Exceto ValueError:
#Print Message for ValueError
print ("Somente caracteres alfabéticos são aceitáveis.")

Saída:

A saída a seguir aparecerá após a execução do script acima para os valores de entrada, 56, 45, 23, e 'vinte'. Aqui, o ValueError ocorreu para o valor de entrada, 'vinte'O que é inválido.

Exemplo 3: Levante o ValueError em uma função

O ValueError pode ser gerado sem um Try-exceto Bloco usando o elevação palavra -chave dentro da função python. Crie um arquivo python com o seguinte script que calculará a multiplicação de dois números inteiros. Se algum valor de argumento inválido será passado para a função, então o ValueError será levantado.

# Defina a função para multiplicação
Multiplicação def (a, b):
# Verifique o tipo dos argumentos
se tipo (a) == str ou tipo (b) == str:
# Levante o ValueError
Raise ValueError ('O valor de uma ou ambas as variáveis ​​é /não são um número.')
outro:
# Multiplique as variáveis
resultado = a*b
# Imprima o resultado da multiplicação
print ("multiplicação de % d e % d é % d" % (a, b, resultado))
# Ligue para a função com dois números
Multiplicação (4, 3)
# Ligue para a função com um número e uma string
Multiplicação (5, '6')

Saída:

A saída a seguir aparecerá após a execução do script acima. Aqui, quando a função é chamada com os valores 5 e '6', então o ValueError foi levantado pelo valor inválido, '6'.

Exemplo-4: Uso do ValueError dentro e fora da função

Crie um arquivo python com o seguinte script que mostra os usos de ValueError dentro e fora da função. Aqui o verificar() função foi definida para descobrir se um número é positivo ou negativo. A função aumentará o ValueError Quando um valor de argumento inválido será passado para a função. O bloco de tentativa de exceção pegará o ValueError passou da função e imprima a mensagem de erro.

# Defina a função
def check (n):
tentar:
# Converta o valor no número inteiro
val = int (n)
# Verifique se o número é positivo ou negativo
Se Val> 0:
impressão ("o número é positivo")
outro:
impressão ("o número é negativo")
Exceto ValueError como e:
# Imprima a mensagem de erro da função
print ("Erro dentro da função:", e)
elevação
tentar:
# Receba a entrada do usuário
num = input ("Digite um valor um número:")
# Ligue para a função
Verifique (num)
Exceto ValueError como e:
# Imprima a mensagem de erro
print ("Erro fora da função:", e)

Saída:

A saída a seguir aparecerá após a execução do script acima com os valores de entrada de 6, -3 e 'd'. Aqui o ValueError ocorreu dentro e fora da função para o valor de entrada, 'd'.

Exemplo 5: Uso do ValueError com outro erro

Crie um arquivo python com o seguinte script que abrirá um arquivo para ler e imprimir o conteúdo do arquivo. Se o nome do arquivo que foi usado no script não estiver acessível, o Ioerror será gerado e se o arquivo contiver qualquer caráter alfabético, então o ValueError será gerado.

tentar:
#Opene o arquivo para ler
fh = aberto ('vendas.TXT')
#Define enquanto loop para ler a linha de arquivo por linha
enquanto fh:
#Convert a linha para o número inteiro
valor = int (fh.Leia a linha())
#Print o valor
Imprimir (valor)
Exceto (ValueError, Ioerror):
"
Imprima a mensagem de erro se o arquivo for
Não é possível ler ou o arquivo contém
quaisquer dados da string
"
print ("ValueError ou Ioerror ocorreu.")

Saída:

A saída a seguir aparecerá após a execução do script acima. Aqui o ValueError foi gerado porque o vendas.TXT O arquivo contém caracteres alfabéticos na linha número 6.

Exemplo 6: Uso do ValueError com o argumento da linha de comando

Crie um arquivo python com o seguinte script que retirará um número do valor do argumento da linha de comando. A mensagem específica será impressa se um valor numérico for fornecido no argumento da linha de comando, caso contrário, o ValueError será gerado e uma mensagem de erro será impressa.

#Import módulo SYS
Importar sistemas
tentar:
#Verifique o número de argumentos
Se Len (SYS.argv)> 1:
#Convert o valor do argumento no número inteiro
num = int (sys.argv [1])
#Verifique o número é maior ou igual a 100
Se num> = 100:
Imprima ("Você precisa inserir um número menos de 100.")
outro:
impressão ("o número inserido é % d" % num)
outro:
print ("Nenhum valor de argumento é dado.")
Exceto ValueError:
#Print Message for ValueError
print ("Você precisa digitar um número")
finalmente:
#Print a mensagem de rescisão
print ("O programa é encerrado.")

Saída:

A saída a seguir aparecerá após a execução do script acima quando o script for executado sem nenhum argumento, com os valores de argumento 600 e 60.

Conclusão

O objetivo de usar a exceção do ValueError foi demonstrado neste tutorial usando vários exemplos para ajudar os usuários do Python a conhecer os usos dessa exceção corretamente.