Obsługa wielu wyjątków
Lekcja 8 z 16 w kursie Obsługa wyjątków w Pythonie w Coddy.
Załóżmy, że w Twoim kodzie może wystąpić wiele wyjątków. Możesz obsłużyć wszystkie wyjątki w następujący sposób.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except (TypeError, ValueError, ZeroDivisionError) as obj:
print(obj)Jeśli wystąpi którykolwiek z tych trzech wyjątków, sterowanie przejdzie do bloku except, a program nie zostanie zakończony.
Obsługa dowolnego wyjątku:
Jeśli nie masz pewności, który wyjątek wystąpi, nie wpisuj nic po słowie kluczowym except.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except:
print("Something went wrong")Powyższa składnia obsłuży dowolny wyjątek z bloku try. Nie będziesz jednak mieć tutaj obiektu, za pomocą którego można wyświetlić informacje.
Użyj poniższej składni:
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except Exception as obj:
print(obj)Powyższa składnia obsłuży dowolny wyjątek zgłoszony w bloku try, a za pomocą obj możesz wyświetlić komunikat.
Wyzwanie
ŁatwyUzupełnij funkcję 'calculator', która przyjmuje dwie liczby całkowite jako argumenty i wykonuje dzielenie. Obsłuż wszystkie występujące wyjątki i wypisz standardowy komunikat. Jeśli nie wystąpi wyjątek, wypisz wynik, używając bloku else.
Spróbuj swoich sił
def calculator(n1,n2):
#tutaj wpisz swój kodWszystkie lekcje w sekcji Obsługa wyjątków w Pythonie
4Dostosowywanie i dobre praktyki
Dostosowywanie śladów stosu2Obsługa wyjątków
try-exceptelseFinallyWyświetlanie komunikatu wyjątkuWyświetlanie nazwy wyjątkuObsługa wielu wyjątkówModuł sys do uzyskiwania informacjiPoćwicz samodzielnie: Kompilator Python online