Gestire l'eccezione di ValueRror in Python

Gestire l'eccezione di ValueRror in Python
Quando si verifica un errore al momento dell'esecuzione di qualsiasi script, viene chiamato un'eccezione. Il blocco Try-Except viene utilizzato per gestire le eccezioni in Python. Esistono molte eccezioni integrate in Python per gestire errori comuni, come Indexerror, Keyerror, NameError, TypeEerror, ValueRoror, ecc. IL Valorerror si verifica in Python quando viene passato un tipo di argomento corretto ma viene passato un valore errato a una funzione. Questo tipo di errore appare principalmente per le operazioni matematiche. Quando il Valorerror si verifica e il modo di gestire questo errore in Python è stato mostrato in questo tutorial.

Diversi usi dell'eccezione ValueRror

Gli usi di ValueRror sono stati mostrati nella prossima parte di questo tutorial.

Esempio-1: aumenta il valorerror per dati errati

Crea un file Python con il seguente script che solleverà un valoreRorror in cui la funzione int () è stata utilizzata per convertire un valore stringa.

# Definisci la prima variabile
Numero1 = 100
# Definisci la seconda variabile
numero2 = int ('hello')
# Stampa la somma di due variabili
Stampa (numero1 + numero2)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. L'output mostra che il valorerror si è verificato alla riga numero 4 in cui la funzione int () è stata utilizzata per coprire la stringa, "ciao".

Esempio-2: gestire il valowerror utilizzando il blocco Try-Except

Crea un file Python con il seguente script che prenderà il età Valore dall'utente. Se un valore non numerico verrà preso dall'utente per il età valore, quindi il Tentativo Il blocco lancerà il Valorerror Eccezione e stampare il messaggio di errore personalizzato. Se il valido età Il valore verrà preso dall'utente, quindi il messaggio verrà stampato in base al file età valore.

Tentativo:
#Ta il valore del numero dall'utente
age = int (input ("immettere la tua età:"))
"
Controllare che il numero è maggiore o uguale a 25
e meno o uguale a 55
"
Se età> = 35 ed età <= 55:
stampa ("Sei idoneo per questo compito.")
altro:
stampa ("Non sei idoneo per l'attività.")
Tranne ValueRror:
#Print Messaggio per valorerror
Stampa ("Solo i caratteri alfabetici sono accettabili.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra per i valori di input, 56, 45, 23, E 'venti'. Qui, ValueRror si è verificato per il valore di input, "venti'Che non è valido.

Esempio-3: solleva il valorerror in una funzione

IL Valorerror può essere generato senza un file Try-Except blocco usando il aumentare Parole chiave all'interno della funzione Python. Crea un file Python con il seguente script che calcolerà la moltiplicazione di due numeri interi. Se un valore di argomento non valido verrà approvato nella funzione, allora il Valorerror sarà sollevato.

# Definisci la funzione per la moltiplicazione
moltiplicazione def (a, b):
# Controlla il tipo di argomenti
if type (a) == str o tipo (b) == str:
# Solleva il valorerror
Aumenta ValueRror ('Il valore di qualsiasi o entrambe le variabili non è /non è un numero.')
altro:
# Moltiplica le variabili
risultato = a*b
# Stampa il risultato di moltiplicazione
stampa ("moltiplicazione di % d e % d è % d" % (a, b, risultato))
# Chiama la funzione con due numeri
Moltiplicazione (4, 3)
# Chiama la funzione con un numero e una stringa
Moltiplicazione (5, '6')

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, quando la funzione è stata chiamata con i valori 5 e '6', quindi il Valorerror è stato raccolto per il valore non valido, '6'.

Esempio-4: utilizzo del valorerror all'interno e all'esterno della funzione

Crea un file Python con il seguente script che mostra gli usi di Valorerror all'interno e all'esterno della funzione. Qui, il controllo() La funzione è stata definita per scoprire se un numero è positivo o negativo. La funzione aumenterà il file Valorerror Quando un valore di argomento non valido verrà passato alla funzione. Il blocco Try-Except catturerà il Valorerror Passato dalla funzione e stampare il messaggio di errore.

# Definisci la funzione
DEF CHECK (N):
Tentativo:
# Converti il ​​valore in intero
Val = int (n)
# Controllare che il numero è positivo o negativo
Se val> 0:
stampa ("il numero è positivo")
altro:
Stampa ("Il numero è negativo")
Tranne ValueRror come E:
# Stampa il messaggio di errore dalla funzione
Stampa ("Errore all'interno della funzione:", e)
aumentare
Tentativo:
# Prendi input dall'utente
num = input ("Immettere un numero un valore:")
# Chiama la funzione
Controlla (num)
Tranne ValueRror come E:
# Stampa il messaggio di errore
Stampa ("Errore al di fuori della funzione:", e)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra con i valori di input di 6, -3 e 'D'. Qui, il Valorerror si è verificato all'interno e all'esterno della funzione per il valore di input, 'D'.

Esempio-5: utilizzo del valorerror con altri errori

Crea un file Python con il seguente script che aprirà un file per la lettura e la stampa del contenuto del file. Se il nome file utilizzato nello script non è accessibile, il Ioerror verrà generato e se il file contiene un carattere alfabetico, allora il Valorerror sarà generato.

Tentativo:
#Open il file per la lettura
fh = open ('vendite.TXT')
#Define durante il ciclo per leggere la riga di file per riga
Mentre FH:
#Converti la linea nel numero intero
value = int (fh.linea di lettura())
#Print il valore
Stampa (valore)
Tranne (ValueRror, ioerror):
"
Stampa il messaggio di errore se il file è
Impossibile leggere o il file contiene
qualsiasi dati di stringa
"
Stampa ("ValueRror o ioerror si è verificato.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui, il Valorerror è stato generato perché il saldi.TXT Il file contiene caratteri alfabetici al numero di riga 6.

Esempio-6: uso del valorerror con l'argomento della riga di comando

Crea un file Python con il seguente script che prenderà un numero dal valore dell'argomento della riga di comando. Il messaggio particolare verrà stampato se viene fornito un valore numerico nell'argomento della riga di comando, altrimenti il Valorerror verrà generato e verrà stampato un messaggio di errore.

Modulo #import sys
Import sys
Tentativo:
#Cuck il numero di argomenti
Se len (sys.argv)> 1:
#Converti il ​​valore dell'argomento nel numero intero
num = int (sys.argv [1])
# -Controllo Il numero è maggiore o uguale a 100
Se num> = 100:
stampa ("devi inserire un numero inferiore a 100.")
altro:
Stampa ("Il numero immesso è % d" % num)
altro:
stampa ("Nessun valore di argomento viene fornito.")
Tranne ValueRror:
#Print Messaggio per valorerror
stampa ("devi digitare un numero")
Finalmente:
#Print il messaggio di terminazione
stampa ("Il programma è terminato.")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra quando lo script viene eseguito senza alcun argomento, con i valori dell'argomento 600 e 60.

Conclusione

Lo scopo di utilizzare l'eccezione ValueRror è stato mostrato in questo tutorial utilizzando più esempi per aiutare gli utenti di Python a conoscere correttamente gli usi di questa eccezione.