Ściągawka dotycząca wbudowanych wyjątków i typów błędów w Pythonie

Przewodnik informacyjny dotyczący typowych typów błędów języka Python. Dowiedz się, jak debugować ValueError, TypeError, IndexError, KeyError i zgłaszać wyjątki.

Typowe wyjątki dotyczące logiki i wartości

Wyjątki reprezentujące niedopasowane operacje, brakujące indeksy lub błędy zmiennych.

Metoda / FunkcjaSkładniaOpis
ValueErrorint("abc")Wywoływany, gdy funkcja otrzymuje argument poprawnego typu, ale o niewłaściwej wartości.
TypeError"1" + 2Wywoływany, gdy operacja lub funkcja jest stosowana do obiektu nieodpowiedniego typu.
IndexErrormy_list[10]Wywoływany, gdy indeks dolny sekwencji jest poza zakresem.
KeyErrormy_dict["missing"]Wywoływany, gdy nie znaleziono klucza słownika.
AttributeErrormy_str.append("x")Wywoływany, gdy odwołanie do atrybutu lub przypisanie nie powiedzie się (np. wywołanie metod listy w łańcuchu).

Wyjątki środowiska wykonawczego i zasobów

Problemy związane z zewnętrznymi systemami plików, awarie obliczeń lub błędy składni wykonania.

Metoda / FunkcjaSkładniaOpis
FileNotFoundErroropen("missing.txt")Wywoływany, gdy żądany jest plik lub katalog, który nie istnieje.
ZeroDivisionError1 / 0Wywoływany, gdy drugi argument dzielenia lub operacji modulo ma wartość zero.
SyntaxErrorwhile True print("hi")Wywoływany, gdy analizator napotka błąd składniowy.
NameErrorprint(undefined_variable)Wywoływany, gdy nie znaleziono nazwy lokalnej lub globalnej.
StopIterationnext(exhausted_iterator)Wywoływany przez wbudowaną funkcję next() w celu zasygnalizowania, że iterator nie ma dalszych elementów.

Interaktywny skrypt demonstracyjny

run_all_cheat_methods.py
Uruchom w Edytorze
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

Często zadawane pytania

Jak złapać wiele wyjątków w Pythonie?

Można je określić jako krotkę w pojedynczym bloku z wyjątkiem, np. z wyjątkiem (ValueError, TypeError) jako e:.

Kiedy powinienem ręcznie zgłaszać wyjątki?

Zgłaszaj wyjątki za pomocą słowa kluczowego raise, gdy w kodzie wystąpi nieoczekiwany warunek uniemożliwiający normalne wykonanie, taki jak błędy sprawdzania poprawności.

Powiązane tematy

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.