Tutorials  /  Python

Python ValueError Exception Umgang - Leitfaden

Ccentron Redaktion · Februar 2024 ·2 Min. Lesezeit ·Python, Tutorial

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.

VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Beispiel für ValueError

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

Code
>>> 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.

Python
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.

Code
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.

Python
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.

Python
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

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren