Umgang mit der ValueError -Ausnahme in Python

Umgang mit der ValueError -Ausnahme in Python
Wenn zum Zeitpunkt der Ausführung eines Skripts ein Fehler auftritt, wird es als Ausnahme bezeichnet. Der Versuchs-Ausnahmeblock wird verwendet, um Ausnahmen in Python zu verarbeiten. In Python gibt es viele integrierte Ausnahmen, um gemeinsame Fehler wie IndexError, KeyError, NameError, TypeError, ValueError usw. zu behandeln. Der ValueError tritt in Python auf, wenn ein korrekter Argumentyp übergeben wird, aber ein falscher Wert an eine Funktion übergeben wird. Diese Art von Fehler erscheint hauptsächlich für mathematische Operationen. Wenn das ValueError tritt auf und die Art und Weise, diesen Fehler in Python zu bearbeiten, wurde in diesem Tutorial gezeigt.

Verschiedene Verwendungen der ValueError -Ausnahme

Die Verwendung von ValueError wurde im nächsten Teil dieses Tutorials gezeigt.

Beispiel 1: Erhöhen Sie den ValueError für falsche Daten

Erstellen Sie eine Python -Datei mit dem folgenden Skript, mit dem ein ValueError erhöht wird, in dem die Int () -Funktion verwendet wurde, um einen String -Wert zu konvertieren.

# Definieren Sie die erste Variable
Nummer1 = 100
# Definieren Sie die zweite Variable
Nummer2 = int ('Hallo')
# Drucken Sie die Summe von zwei Variablen
print (Nummer1 + Nummer2)

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Die Ausgabe zeigt, dass das ValueError bei der Zeile Nummer 4 aufgetreten ist, wobei die Int () -Funktion verwendet wurde, um die Zeichenfolge "Hallo" zu verhindern.

Beispiel-2: Behandeln Sie den ValueError mithilfe von Try-Except-Block

Erstellen Sie eine Python -Datei mit dem folgenden Skript, das das nimmt Alter Wert vom Benutzer. Wenn ein nicht numerischer Wert vom Benutzer für die genommen wird Alter Wert, dann der versuchen Block werfen die ValueError Ausnahme und drucken Sie die benutzerdefinierte Fehlermeldung. Wenn der gültige Alter Der Wert wird vom Benutzer übernommen, dann wird die Nachricht basierend auf dem gedruckt Alter Wert.

versuchen:
#Wenden Sie den Nummernwert vom Benutzer
Alter = int (Input ("Geben Sie Ihr Alter ein:"))
"
Überprüfen Sie, ob die Zahl größer oder gleich 25 ist
und weniger als oder gleich 55
"
Wenn Alter> = 35 und Alter <= 55:
drucken ("Sie haben Anspruch auf diese Aufgabe."))
anders:
drucken ("Sie sind nicht für die Aufgabe berechtigt."))
außer ValueError:
#Drucknachricht für ValueError
drucken ("Nur alphabetische Zeichen sind akzeptabel."))

Ausgang:

Nach der Ausführung des obigen Skripts für die Eingabewerte wird die folgende Ausgabe angezeigt, 56, 45, 23, Und 'zwanzig''. Hier ist der ValueError für den Eingangswert aufgetreten. 'zwanzig'Was ist ungültig.

Beispiel-3: Erhöhen Sie den ValueError in einer Funktion

Der ValueError kann ohne a generiert werden Versuchen Sie Blockieren Sie mit dem heben Schlüsselwort in der Python -Funktion. Erstellen Sie eine Python -Datei mit dem folgenden Skript, das die Multiplikation von zwei ganzzahligen Zahlen berechnet. Wenn ein ungültiger Argumentwert in die Funktion übergeben wird ValueError wird großgezogen.

# Definieren Sie die Funktion zur Multiplikation
Def -Multiplikation (a, b):
# Überprüfen Sie den Typ der Argumente
Wenn Typ (a) == STR oder Typ (b) == STR:
# Erhöhen Sie den ValueError
erhöhen ValueError ('Der Wert einer oder beiden Variablen ist /ist keine Zahl.'))
anders:
# Multiplizieren Sie die Variablen
Ergebnis = a*b
# Drucken Sie das Multiplikationsergebnis
Druck ("Multiplikation von % d und % d ist % d" % (a, b, result))
# Rufen Sie die Funktion mit zwei Zahlen auf
Multiplikation (4, 3)
# Rufen Sie die Funktion mit einer Nummer und einer Zeichenfolge auf
Multiplikation (5, '6')

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier, wenn die Funktion mit den Werten 5 und '6' aufgerufen wurde, dann die dann die ValueError Wurde für den ungültigen Wert '6' erhöht worden.

Beispiel-4: Verwendung des ValueErrors innerhalb und außerhalb der Funktion

Erstellen Sie eine Python -Datei mit dem folgenden Skript, das die Verwendung von zeigt ValueError innerhalb und außerhalb der Funktion. Hier das überprüfen() Die Funktion wurde definiert, um herauszufinden, ob eine Zahl positiv oder negativ ist. Die Funktion erhöht die ValueError Wenn ein ungültiger Argumentwert an die Funktion übergeben wird. Der Versuchsblock erfasst die ValueError Übergeben aus der Funktion und drucken Sie die Fehlermeldung aus.

# Definieren Sie die Funktion
Def Check (n):
versuchen:
# Umwandeln Sie den Wert in die Ganzzahl
val = int (n)
# Überprüfen Sie, ob die Zahl positiv oder negativ ist
Wenn Val> 0:
drucken ("Die Zahl ist positiv")
anders:
drucken ("Die Zahl ist negativ")
Außer ValueError als E:
# Drucken Sie die Fehlermeldung aus der Funktion
print ("Fehler in der Funktion:", E)
heben
versuchen:
# Nehmen Sie die Eingabe vom Benutzer
Num = input ("Geben Sie eine Zahl ein Wert ein:")
# Rufen Sie die Funktion auf
Prüfen (num)
Außer ValueError als E:
# Drucken Sie die Fehlermeldung
print ("Fehler außerhalb der Funktion:", E)

Ausgang:

Die folgende Ausgabe erscheint nach der Ausführung des obigen Skripts mit den Eingabewerten von 6, -3 und 'D'. Hier das ValueError ist innerhalb und außerhalb der Funktion für den Eingangswert 'D' aufgetreten.

Beispiel-5: Verwendung des ValueErrors mit einem anderen Fehler

Erstellen Sie eine Python -Datei mit dem folgenden Skript, in dem eine Datei zum Lesen und Drucken des Inhalts der Datei geöffnet wird. Wenn der im Skript verwendete Dateiname nicht zugänglich ist, ist der IoError wird generiert, und wenn die Datei ein alphabetisches Zeichen enthält, dann die dann die ValueError wird generiert.

versuchen:
#OPEN Die Datei zum Lesen
FH = Open ('Verkäufe.txt')
#Definieren Sie während der Schleife, um die Dateizeile nach Zeile zu lesen
Während FH:
#Verwenden Sie die Zeile in die Ganzzahl
Wert = int (FH.Zeile lesen())
#Print des Wertes
Druck (Wert)
außer (ValueError, IoError):
"
Drucken Sie die Fehlermeldung, wenn die Datei ist
Das Lesen kann nicht gelesen werden oder die Datei enthält
Alle String -Daten
"
drucken ("ValueError oder IoError ist aufgetreten."))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier das ValueError wurde erzeugt, weil die Verkauf.txt Die Datei enthält alphabetische Zeichen unter Zeilennummer 6.

Beispiel-6: Verwendung des ValueErrors mit dem Befehlszeilenargument

Erstellen Sie eine Python-Datei mit dem folgenden Skript, das eine Nummer aus dem Befehlszeilen-Argumentwert entnimmt. Die jeweilige Nachricht wird gedruckt, wenn im Befehlszeilenargument ein numerischer Wert angegeben ist, sonst die ValueError wird generiert und eine Fehlermeldung wird gedruckt.

#Import sysmodul
Importsystem
versuchen:
#Überprüfen Sie die Anzahl der Argumente
Wenn Len (sys.argv)> 1:
#Wenden Sie den Argumentwert in die Ganzzahl ein
num = int (sys.argv [1])
#Überprüfen Sie, ob die Zahl größer oder gleich 100 ist
Wenn num> = 100:
drucken ("Sie müssen eine Nummer weniger als 100 eingeben."))
anders:
drucken ("Die eingegebene Zahl ist % d" % num)
anders:
drucken ("Es wird kein Argumentwert angegeben."))
außer ValueError:
#Drucknachricht für ValueError
print ("Sie müssen eine Nummer eingeben")
Endlich:
#Print der Beendigung Nachricht
drucken ("Das Programm wird beendet."))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das Skript ohne Argument ausgeführt wird, mit den Argumentwerten 600 und 60.

Abschluss

Der Zweck der Verwendung der ValueError -Ausnahme wurde in diesem Tutorial angezeigt, indem mehrere Beispiele verwendet wurden, um den Python -Benutzern zu helfen, die Verwendung dieser Ausnahme ordnungsgemäß zu kennen.