Przykładowy program pokazujący jak korzystać z wyjątków. Funkcja sprawdzająca czy jako argument podano nieujemny integer.

szumek

Takie intro dla początkujących. Dajcie jakiś feedback czy komuś się to przydaje to parę takich programików postaram się opublikować.

***

def Foo(x):
    if not isinstance(x, int):
        raise Exception("Tu miały byc integer'y!")
    if x < 0:
        raise ValueError("Hej, miały być liczby nieujemne")
    print("Ta część funkcji Foo(x) wykona się tylko wtedy kiedy nie ma błędu")
    return x


def tester(x):
    print(f"Przetestujmy Foo({x})")
    try:
        y = Foo(x)
        print("Moja liczba nieujemna: {:d}".format(y))
    except ValueError as mojZnanyBlad:
        print(mojZnanyBlad)
    except Exception as e:
        print(e)
        print("To jest nieznany błąd (koniec programu):")
        exit(-1)
    print("Jak program obsłuży wyjątek to leci sobie dalej\n")


def main():
    dane = [5, -2, "ABC"]
    for d in dane:
        tester(d)
    print("Tu też mogłyby być jakieś try/except")

0 komentarzy