Obsługa wyjątku Valueerror w Pythonie

Obsługa wyjątku Valueerror w Pythonie
Gdy wystąpi błąd w momencie wykonywania dowolnego skryptu, nazywa się go wyjątkiem. Blok próba jest używany do obsługi wyjątków w Pythonie. W Pythonie istnieje wiele wbudowanych wyjątków do obsługi typowych błędów, takich jak indekserorror, keyerror, nameerror, typeerror, valueerror itp. ValueerRor występuje w Pythonie, gdy przyjęto prawidłowy typ argumentu, ale niepoprawna wartość jest przekazywana do funkcji. Ten rodzaj błędu pojawia się głównie dla operacji matematycznych. Kiedy ValueerRor występuje, a sposób radzenia sobie z tym błędem w Pythonie został pokazany w tym samouczku.

Różne zastosowania wyjątku ValuteerRor

Zastosowania ValueRorr zostały pokazane w następnej części tego samouczka.

Przykład-1: Podnieś wartość dla nieprawidłowych danych

Utwórz plik Python z następującym skryptem, który podniesie wartość ValueRorr, w której funkcja int (.

# Zdefiniuj pierwszą zmienną
Number1 = 100
# Zdefiniuj drugą zmienną
numer2 = int („hello”)
# Wydrukuj sumę dwóch zmiennych
wydrukuj (numer1 + numer2)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Wyjście pokazuje, że wartość ValueRor wystąpiła w wierszu nr 4, w której funkcja int (.

Przykład-2: Obsługuj ValueRorror za pomocą bloku Try-Except

Utwórz plik Pythona z następującym skryptem, który przyjmie wiek wartość od użytkownika. Jeśli wartość niewidzialna zostanie pobrana od użytkownika dla wiek wartość, potem próbować blok rzuci ValueerRor Wyjątek i wydrukuj niestandardowy komunikat o błędzie. Jeśli ważne wiek wartość zostanie pobrana od użytkownika, wówczas wiadomość zostanie wydrukowana na podstawie wiek wartość.

próbować:
#Weź wartość liczbową od użytkownika
Age = int (wejście („Wprowadź swój wiek:”))
"
Sprawdź, czy liczba jest większa lub równa 25
i mniejsze lub równe 55
"
Jeśli wiek> = 35 i wiek <= 55:
Drukuj („Kwalifikujesz się do tego zadania.")
w przeciwnym razie:
Drukuj („Nie kwalifikujesz się do zadania.")
Z wyjątkiem ValueerRor:
#PRINT KOMUNIKACJA DLA VALITEERROR
Drukuj („Tylko postacie alfabetyczne są dopuszczalne.")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu dla wartości wejściowych, 56, 45, 23, I '20'. Tutaj wartość ValueRror wystąpiła dla wartości wejściowej ”20„Co jest nieprawidłowe.

Przykład-3: Podnieś wartość w funkcji

ValueerRor można wygenerować bez próba z wyjątkiem blok za pomocą wznosić Słowo kluczowe wewnątrz funkcji Pythona. Utwórz plik Pythona z następującym skryptem, który obliczy mnożenie dwóch liczb całkowitych. Jeśli jakakolwiek nieprawidłowa wartość argumentu zostanie przekazana do funkcji, wówczas ValueerRor zostanie podniesiony.

# Zdefiniuj funkcję mnożenia
mnożenie def (a, b):
# Sprawdź rodzaj argumentów
Jeśli typ (a) == str lub typ (b) == str:
# Podnieś wartość ValueRorr
Ways Valueerror („Wartość dowolnej lub obu zmiennych to /to nie liczba.')
w przeciwnym razie:
# Pomnóż zmienne
wynik = a*b
# Wydrukuj wynik mnożenia
Drukuj („Mnożenie % d i % d to % d” % (a, b, wynik))
# Wywołaj funkcję z dwoma liczbami
Mnożenie (4, 3)
# Wywołaj funkcję jednym numerem i ciągiem
Mnożenie (5, „6”)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj, gdy funkcja została wywołana z wartościami 5 i „6”, to ValueerRor został podniesiony dla nieprawidłowej wartości „6”.

Przykład-4: Użycie ValueRorror wewnątrz i na zewnątrz funkcji

Utwórz plik Pythona z następującym skryptem, który pokazuje zastosowania ValueerRor wewnątrz i na zewnątrz funkcji. Tutaj sprawdzać() Funkcja została zdefiniowana, aby dowiedzieć się, czy liczba jest pozytywna czy ujemna. Funkcja podniesie ValueerRor Gdy do funkcji zostanie przekazana nieprawidłowa wartość argumentu. Blok próba z wyjątkiem złapie ValueerRor Przekazane z funkcji i wydrukuj komunikat o błędzie.

# Zdefiniuj funkcję
Def Check (n):
próbować:
# Konwertuj wartość na liczbę całkowitą
val = int (n)
# Sprawdź, czy liczba jest pozytywna lub ujemna
Jeśli val> 0:
druk („liczba jest dodatnia”)
w przeciwnym razie:
Drukuj („liczba jest ujemna”)
z wyjątkiem Valueerror jako E:
# Wydrukuj komunikat o błędzie z funkcji
Drukuj („Błąd wewnątrz funkcji:”, e)
wznosić
próbować:
# Weź dane wejściowe od użytkownika
num = input („Wprowadź liczbę wartość:”)
# Wywołaj funkcję
Check (num)
z wyjątkiem Valueerror jako E:
# Wydrukuj komunikat o błędzie
Drukuj („Błąd poza funkcją:”, e)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu z wartościami wejściowymi 6, -3 i „d”. Tutaj ValueerRor wystąpił wewnątrz i na zewnątrz funkcji dla wartości wejściowej, „D”.

Przykład-5: Użycie ValueerRor z innym błędem

Utwórz plik Python z następującym skryptem, który otworzy plik do odczytu i wydrukuj zawartość pliku. Jeśli nazwa pliku, która została użyta w skrypcie, jest niedostępna, Ioerror zostanie wygenerowane, a jeśli plik zawiera jakikolwiek znak alfabetyczny, to wówczas ValueerRor zostanie wygenerowane.

próbować:
#Open plik do odczytu
FH = otwarte („Sprzedaż.tekst')
#Definiuj podczas pętli, aby odczytać wiersz pliku po wierszu
Podczas gdy FH:
#Przekonaj linię w liczbę całkowitą
wartość = int (FH.Czytaj linię())
#Printu wartość
Drukuj (wartość)
Z wyjątkiem (Valueerror, IoEerror):
"
Wydrukuj komunikat o błędzie, jeśli plik jest
Nie można odczytać lub plik zawiera
dowolne dane łańcuchowe
"
wydruku („Wystąpił Valueerror lub Ioerror.")

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj ValueerRor został wygenerowany, ponieważ obroty.tekst Plik zawiera znaki alfabetyczne w wierszu 6.

Przykład-6: Użycie wartości Valueerror z argumentem wiersza poleceń

Utwórz plik Pythona z następującym skryptem, który przyjmie numer z wartości argumentu wiersza polecenia. Konkretny komunikat zostanie wydrukowany, jeśli wartość liczbowa zostanie podana w argumencie wiersza polecenia, w przeciwnym razie, ValueerRor zostanie wygenerowane, a komunikat o błędzie zostanie wydrukowany.

#Import Sys
Import Sys
próbować:
#Sprawdź liczbę argumentów
Jeśli Len (sys.argv)> 1:
#Przekieruj wartość argumentu w liczbie całkowitej
num = int (sys.Argv [1])
#Sprawdź, że liczba jest większa lub równa 100
Jeśli num> = 100:
wydrukuj („musisz wprowadzić liczbę mniej niż 100.")
w przeciwnym razie:
Drukuj („Wprowadzona liczba to % d” % num)
w przeciwnym razie:
Drukuj („Nie podano wartości argumentów.")
Z wyjątkiem ValueerRor:
#PRINT KOMUNIKACJA DLA VALITEERROR
wydrukuj („musisz wpisać liczbę”)
Wreszcie:
#PRORT KOMOWANO ZAKOŃCZENIA
Drukuj („Program jest zakończony.")

Wyjście:

Następujące dane wyjściowe pojawi się po wykonaniu powyższego skryptu, gdy skrypt zostanie wykonywany bez żadnego argumentu, z wartościami argumentów 600 i 60.

Wniosek

Cel użycia wyjątku ValueRor został pokazany w tym samouczku przy użyciu wielu przykładów pomocy użytkownikom Python w prawidłowym znaczeniu zastosowań tego wyjątku.