Obsługa wyjątków Pythona
- 2488
- 225
- Igor Madej
Wstęp
Python poinformuje Cię, kiedy źle wymyślisz swoją składnię. To natychmiast zawiedzie i nie pozwoli na działanie programu.
Co powiesz na to, że twój kod ma inny rodzaj problemu? Nazywane są wyjątkami i zwykle trudniej jest złapać. To od Ciebie zależy, czy hej może się rozpoznać i złapać je, aby zapobiec awarii programu.
Wyobraź sobie scenariusz, w którym potrzebujesz wprowadzania użytkownika. Czy chcesz, aby Twój program rozbił się za każdym razem, gdy użytkownik coś pomyla lub wchodzi w coś błędnego? To dalekie od ideału. Ponieważ wiesz, że może być problem, możesz powiedzieć Pythonowi, aby uważał na jeden i wyzdrowieć z wdziękiem.
Spróbuj i z wyjątkiem
Kiedy wiesz, że pojawi się szansa, że pojawi się wyjątek, prosisz Pythona o wypróbowanie kawałka kodu i uważaj na wyjątek. Spójrz na to w kontekście przykładu z wcześniejszego.
try: numer = int (input („Wprowadź dowolny numer:”)) Z wyjątkiem: print („to nie działało…”)
Teraz, zamiast zawieść, program będzie kontynuowany, nawet jeśli użytkownik wjedzie do śmieci.
Możesz także powiedzieć Pythonowi dokładnie, jakiego rodzaju wyjątek szukać. W takim przypadku byłby to ValueerRor
.
try: numer = int (input („wprowadź dowolną liczbę:”)) z wyjątkiem ValeerRor: print („Nie wprowadziłeś numeru!")
Jeśli Python wie, jakiego rodzaju wyjątki szuka, możesz powiedzieć, jak odpowiednio odpowiedzieć.
Zrobić własny
Możesz zrobić własne wyjątki, pisząc je jako zajęcia, które dziedziczą po Wyjątek
klasa podstawowa lub jedna z innych klas wyjątków.
Klasa NewException (wyjątek): Pass
Musisz zbudować w programie, jak korzystać z niestandardowych wyjątków.
Podnoszenie wyjątków
Istnieje opcja ręcznego podnoszenia wyjątków wznosić
.
Spróbuj: Podnieś nowexception z wyjątkiem nowexception: print („Nie powiodło się zgodnie z planem!")
Wiele z wyjątkiem
Jeśli spodziewasz się, że może istnieć więcej niż jeden wyjątek, możesz zbudować wielokrotności z próbować
. Zacznij od wykonania kilku niestandardowych wyjątków.
klasa wyjątek (wyjątek): przejście klasa wyjątek (wyjątek): Pass
Teraz użyj ich z próbować
.
Spróbuj: podnieś wyjątekb Z wyjątkiem (wyjątek, wyjątekB): drukuj („To było albo a lub b”)
Oczywiście nie jest to najlepsze, ponieważ w prawdziwym scenariuszu nie wiedziałbyś, który wyjątek faktycznie miał miejsce.
Spróbuj zamiast tego użyć osobnych, z wyjątkiem klauzul.
Spróbuj: Podnieś wyjątekb Z wyjątkiem wyjątku: druk („wyjątek wystąpił”) z wyjątkiem wyjątku: druku („wyjątek Wystąpił”) Z wyjątkiem: druku („coś innego się wydarzyło…”)
Trzeci z wyjątkiem
działa, aby złapać jakikolwiek inny wyjątek. To jest domyślne zachowanie, gdy konkretny wyjątek nie jest podany.
I wreszcie
Istnieją dwa dodatkowe klauzule do obsługi tego, co dzieje się po objęciu wyjątków. Pomagają Twojemu kodowi odpowiedzieć na wyjątki.
w przeciwnym razie
klauzula pozwala uruchomić kod tylko wtedy, gdy nie został podniesiony wyjątek.
try: numer = int (input („wprowadź dowolną liczbę:”)) z wyjątkiem ValeerRor: print („Nie wprowadziłeś numeru!") else: print (liczba ** 2)
Chcesz spróbować wykonywać operację na liczbie.
Wreszcie
przyczyna będzie działać niezależnie od wyjątków. Zawsze będzie działać na końcu próbować
blok.
try: numer = int (input („wprowadź dowolną liczbę:”)) z wyjątkiem ValeerRor: print („Nie wprowadziłeś numeru!") else: print (liczba ** 2) Wreszcie: drukuj (" To zawsze będzie działać.")
Zamykanie myśli
Ważne jest, aby zrozumieć, co może pójść nie tak z twoimi programami. Równie ważne jest, aby wiedzieć, że to pójdzie nie tak. Rozliczając wyjątki, możesz uczynić swój kod tak stabilnym, jak to możliwe i nie frustrują użytkowników.
Ćwiczenia
- Utwórz kod, który podnosi niezwiązany wyjątek.
- Użyj bloku spróbowania, aby obsłużyć ten wyjątek.
- Utwórz niestandardową klasę wyjątków
- Podnieś ten niestandardowy wyjątek w bloku próbnym.
- Utwórz blok próba z kawałkiem kodu, który działa tylko wtedy, gdy wyjątek nie jest podniesiony.
Powiązane samouczki Linux:
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zainstalowania na Ubuntu 20.04
- Obsługa danych wejściowych użytkownika w skryptach Bash
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Jak zdenerwować Linuksa
- Jak korzystać z ADB Android Debug Bridge do zarządzania Androidem…
- Samouczek debugowania GDB dla początkujących
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Ubuntu 20.04 Przewodnik
- Hung Linux System? Jak uciec do wiersza poleceń i…