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

Dimensionsreduktion – IsoMap

Python
Dimensionsreduktion – IsoMap Content1 Einführung2 Voraussetzungen für die Dimensionsreduktion3 Warum geodätische Distanzen für Dimensionsreduktion besser sind4 Dimensionsreduktion: Schritte des IsoMap-Algorithmus5 Landmark IsoMap6 Schwächen von Isomap7 Fazit zur Dimensionsreduktion Einführung Isomap…
centron Managed Cloud Hosting in Deutschland

Was jeder ML/AI-Entwickler über ONNX wissen sollte

Python
Was jeder ML/AI-Entwickler über ONNX wissen sollte Content1 Einleitung2 ONNX Überblick3 Voraussetzungen für ML/AI-Entwickler4 ONNX in der Praxis5 Fazit für ML/AI-Entwickler Einleitung Das Open Neural Network Exchange Format (ONNX) ist…