Python ValueError Exception Umgang – Leitfaden

Was ist die Python ValueError?

Die Python ValueError wird ausgelöst, wenn eine Funktion ein Argument des richtigen Typs, aber mit einem unangemessenen Wert erhält. Außerdem sollte die Situation nicht durch eine präzisere Ausnahme wie IndexError beschrieben werden.

Beispiel für ValueError

Ein ValueError tritt bei mathematischen Operationen auf, wie beispielsweise der Quadratwurzel aus einer negativen Zahl.

>>> import math
>>> 
>>> math.sqrt(-10)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error
>>> 

Python ValueError Exception Handhabung

Hier ist ein einfaches Beispiel, um die ValueError Exception mit einem try-except-Block zu behandeln.

import math

x = int(input('Please enter a positive number:\n'))

try:
    print(f'Square Root of {x} is {math.sqrt(x)}')
except ValueError as ve:
    print(f'You entered {x}, which is not a positive number.')

Hier ist der Output des Programms mit verschiedenen Arten von Eingaben.

Please enter a positive number:
16
Square Root of 16 is 4.0

Please enter a positive number:
-10
You entered -10, which is not a positive number.

Please enter a positive number:
abc
Traceback (most recent call last):
  File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/valueerror_examples.py", line 11, in <module>
    x = int(input('Please enter a positive number:\n'))
ValueError: invalid literal for int() with base 10: 'abc'

Unser Programm kann in den Funktionen int() und math.sqrt() einen ValueError auslösen. Daher können wir einen verschachtelten try-except-Block erstellen, um beide zu behandeln. Hier ist der aktualisierte Code-Schnipsel, um alle ValueError-Szenarien zu berücksichtigen.

import math

try:
    x = int(input('Please enter a positive number:\n'))
    try:
        print(f'Square Root of {x} is {math.sqrt(x)}')
    except ValueError as ve:
        print(f'You entered {x}, which is not a positive number.')
except ValueError as ve:
    print('You are supposed to enter positive number.')

ValueError in einer Funktion auslösen

Hier ist ein einfaches Beispiel, bei dem wir einen ValueError für einen Eingabeargument des richtigen Typs, aber mit einem unangemessenen Wert auslösen.

import math

def num_stats(x):
    if x is not int:
        raise TypeError('Work with Numbers Only')
    if x < 0:
        raise ValueError('Work with Positive Numbers Only')

    print(f'{x} square is {x * x}')
    print(f'{x} square root is {math.sqrt(x)}')

 

Python ValueError Exception Umgang – Leitfaden

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Wie berechnet man den BLEU-Score in Python?

Python
Wie berechnet man den BLEU-Score in Python? Der BLEU-Score in Python ist eine Metrik, die die Güte von maschinellen Übersetzungsmodellen misst. Ursprünglich wurde er nur für Übersetzungsmodelle entwickelt, wird jedoch…