Raise & Assert


Oczywiście! raise i assert są to mechanizmy w języku Python, które pozwalają na zgłaszanie wyjątków lub sprawdzanie określonych warunków. Oto ich dokładne wyjaśnienie:

raise – Ręczne zgłaszanie wyjątków:

Instrukcja rasie służy do ręcznego zgłaszania wyjątków w swoim kodzie. Pozwala programiście na wywołanie konkretnego wyjątku w momencie, gdy występuje pewna określona sytuacja. Możesz podać typ wyjątku oraz opcjonalnie komunikat, który będzie opisem tego, co poszło nie tak.

Przykład:

def dzielenie(a, b):
    if b == 0:
        raise ZeroDivisionError("Nie można dzielić przez zero!")
    return a / b

try:
    wynik = dzielenie(10, 0)
except ZeroDivisionError as e:
    print("Wystąpił wyjątek:", e)

W tym przykładzie funkcja dzielenie ręcznie zgłasza wyjątek ZeroDivisionError, jeśli drugi argument b wynosi zero.

assert – Sprawdzanie warunków:

Instrukcja assert jest używana do sprawdzania warunków i zgłaszania wyjątku AssertionError, jeśli podany warunek nie jest spełniony (czyli jest fałszywy). Jest to przydatne narzędzie do debugowania i weryfikacji poprawności kodu.

Przykład:

def podwojenie(x):
    assert x > 0, "Liczba musi być większa od zera!"
    return x * 2

try:
    wynik = podwojenie(-5)
except AssertionError as e:
    print("Wystąpił wyjątek:", e)

W tym przykładzie funkcja podwojenie sprawdza, czy argument x jest większy od zera. Jeśli warunek nie jest spełniony, to zostaje zgłoszony wyjątek AssertionError z podanym komunikatem.

Ważne punkty do zapamiętania:

  • raise pozwala na ręczne zgłaszanie wyjątków.
  • assert pozwala na sprawdzanie warunków i zgłaszanie wyjątku, jeśli warunek jest fałszywy.
  • Oba mechanizmy są używane do kontroli poprawności programu i obsługi błędnych sytuacji.
  • Staraj się stosować raise i assert z umiarem, aby kod był zrozumiały i łatwy do debugowania.