Python Spróbuj wyjątkiem: przykłady krok po kroku

Jako programista możesz napotkać sytuacje, w których Twój kod może napotkać błędy lub wyjątki, dlatego bardzo ważne jest, aby zrozumieć, jak radzić sobie z różnymi typami błędów w kodzie. Obsługa błędów jest kluczową częścią cyklu kodowania. Jednym z powszechnych sposobów obsługi błędów w Pythonie jest użycie techniki try-except.

Technika try-except w Pythonie składa się z bloku try i blokuexcept. Blok try zawiera kod, który może wygenerować błąd lub wyjątek, a blok wyjątkiem zawiera kod obsługujący te błędy lub wyjątki.

Python Spróbuj wyjątkiem: przykłady krok po kroku

Kiedy twój kod działa bez problemu w bloku try, blok wyjątku jest pomijany. Jeśli jednak w bloku try wystąpi błąd lub wyjątek, kod zapisany w bloku wyjątków zostanie wykonany w celu rozwiązania problemu.

W tym artykule omówimy blok try-expect w Pythonie , różne rodzaje błędów i wyjątków, które możesz napotkać podczas pisania kodu, oraz sposoby radzenia sobie z nimi za pomocą instrukcji try-except.

Wejdźmy w to!

Spis treści

Jakie są rodzaje błędów w Pythonie?

W Pythonie błędy można z grubsza podzielić na dwa główne typy:

1. Błędy składniowe : Nazywane są również błędami analizy składniowej, spowodowanymi niepoprawną gramatyką w kodzie. Błędy składniowe są wykrywane przez interpreter Pythona i wstrzymują wykonywanie programu.

Poniżej znajduje się przykład błędu składni w Pythonie:

print("Hello, world!"

W tym przykładzie brakuje nawiasu zamykającego, więc Python nie rozumie tej instrukcji i dlatego jest to błąd składniowy.

Python Spróbuj wyjątkiem: przykłady krok po kroku

Wyjątki : Wyjątki występują, gdy coś pójdzie nie tak podczas wykonywania programu, nawet jeśli kod jest poprawny składniowo. Mogą to być błędy logiczne lub błędy w czasie wykonywania, takie jak nieprawidłowe dane wejściowe lub dzielenie przez zero.

Poniższa funkcja jest przykładem wyjątku w Pythonie:

print(5 / 0)

Ten wiersz kodu spowoduje wyjątek ZeroDivisionError, który ma miejsce, gdy spróbujesz podzielić liczbę przez zero.

Python Spróbuj wyjątkiem: przykłady krok po kroku

Na powyższym obrazku widać, że wystąpił wyjątek, gdy dzieliliśmy 5 przez 0.

Teraz, gdy wiesz, jakie wyjątki istnieją w Pythonie, zobaczymy, jak możemy obsługiwać wyjątki za pomocą instrukcji Try-Except w Pythonie. Przyjrzyjmy się składni bloków Try i Except w Pythonie w następnej sekcji.

Jaka jest składnia bloku Try and Exception?

Składnia funkcji określa, w jaki sposób należy jej używać w kodzie, w tym jakie argumenty przyjmuje i co zwraca.

Poniżej wymieniliśmy składnię klauzuli try i bloków wyjątków wraz z klauzulą ​​else i blokami ostatecznie .

1. Składnia instrukcji Try

Instrukcja try umożliwia przetestowanie bloku kodu pod kątem błędów. Kiedy piszesz kod w bloku try , Python wykona go jako normalną część twojego programu.

Aby użyć instrukcji try , po prostu umieść swój kod w bloku try :

try: # Your code here

2. Składnia klauzuli wyjątku

Klauzula wyjątku obsługuje błędy, które mogą wystąpić podczas wykonywania bloku try . Możesz określić typ wyjątku, który chcesz przechwycić, lub użyć ogólnej instrukcji wyjątku do obsługi wszystkich wyjątków.

Poniższa składnia pokazuje określony typ wyjątku:

try: # Your code here except ValueError: # Handle ValueError exception

Aby ogólnie obsłużyć klasy wyjątków lub wiele wyjątków, możesz użyć składni podanej poniżej:

try: # Your code here except Exception: # Handle any exception

3. Składnia klauzuli/bloku Else

Klauzula else umożliwia wykonanie bloku kodu, gdy w bloku try nie ma błędów .

Aby użyć klauzuli else , możesz umieścić ją po bloku wyjątku , jak pokazano poniżej:

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors

4. Składnia bloku w końcu

Blok ostatecznie umożliwia wykonanie kodu niezależnie od wyniku bloków try iz wyjątkiem . Może to być przydatne w przypadku akcji, które chcesz wykonać niezależnie od tego, czy został zgłoszony wyjątek.

Aby użyć bloku ultimate , możesz umieścić go po bloku else :

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors finally: # Code to execute regardless of the result of the try and except blocks

Aby zobaczyć powyższą składnię w działaniu, przyjrzymy się przykładowi obsługi wyjątków za pomocą bloku try-except w Pythonie.

Obsługa wyjątków za pomocą Try-Except w Pythonie

Gdy wystąpi błąd, Python zwykle zatrzymuje się i generuje komunikat o błędzie. Możesz obsłużyć wiele wyjątków za pomocą bloku try iz wyjątkiem .

W poniższym przykładzie zajmujemy się dzieleniem przez zero z błędem generowanym wcześniej podczas dzielenia 5 przez 0.

try: print(5 / 0) except ZeroDivisionError: print("You can't divide by zero!")

W tym kodzie występuje wyjątek, ale program będzie nadal działał i wyświetli komunikat „Nie można dzielić przez zero!” zamiast zatrzymać się z błędem.

Python Spróbuj wyjątkiem: przykłady krok po kroku

Używanie bloków try iz wyjątkiem pozwala kontrolować przebieg programu. Obsługując określone wyjątki , możesz przekazać użytkownikowi pomocne informacje zwrotne i zapewnić działanie programu, gdy pojawi się błąd.

W powyższym przykładzie widać, że do obsługi sprawy użyliśmy wbudowanego wyjątku ZeroDivisionError. Podobnie do tego, istnieją również inne typy wbudowanych wyjątków.

Znajomość tych typów wyjątków pomoże ci zdecydować, które oczekiwanie zastosować, gdy napotkasz błąd w kodzie Pythona, więc przyjrzyjmy się niektórym wyjątkom w następnej sekcji.

Jakie są rodzaje wbudowanych wyjątków?

W Pythonie wyjątki to instancje klasy wywodzącej się z klasy BaseException. W przypadku wykrycia błędów Python zgłasza wyjątek. Istnieje kilka wbudowanych wyjątków, które prawdopodobnie napotkasz podczas pisania programów w Pythonie.

Rzućmy okiem na niektóre z najczęstszych:

  1. ZeroDivisionError: Występuje, gdy próbujesz podzielić liczbę przez zero.

  2. NameError: Jest to zgłaszane, gdy próbujesz użyć zmiennej lub funkcji, która nie została zdefiniowana.

  3. ValueError : Dzieje się tak, gdy przekazujesz argument poprawnego typu, ale z nieprawidłową wartością.

  4. TypeError : Ten występuje, gdy przekazujesz argument niewłaściwego typu danych.

  5. FileNotFoundError : Występuje, gdy próbujesz otworzyć lub uzyskać dostęp do pliku, który nie istnieje.

  6. ImportError : Zgłaszany podczas próby zaimportowania modułu lub pakietu, który nie istnieje lub nie można go znaleźć.

Inne istotne wyjątki obejmują:

  1. OverflowError: Ten błąd jest zgłaszany, gdy wynik obliczeń jest zbyt duży, aby można go było przedstawić.

  2. FloatingPointError: Ten błąd jest wywoływany, gdy operacja zmiennoprzecinkowa nie powiedzie się.

  3. IndexError: Występuje, gdy próbujesz uzyskać dostęp do indeksu, który jest poza zakresem sekwencji (np. lista lub krotka).

  4. KeyError: Występuje, gdy próbujesz uzyskać dostęp do klucza, który nie istnieje w słowniku.

  5. EOFError: Wywoływany, gdy Python napotka koniec pliku (EOF) podczas czytania danych wejściowych, zwykle z wywołania read().

  6. ArithmeticError: Nadklasa dla wyjątków arytmetycznych, takich jak ZeroDivisionError, OverflowError i FloatingPointError.

Czasami może być konieczne użycie wyjątków zdefiniowanych przez użytkownika, takich jak instrukcja pass w bloku, w którym oczekiwany jest wyjątek. Należy to zrobić rozsądnie, ponieważ może to znieść inne wyjątki.

Udostępniliśmy Ci powyższą listę typowych błędów wyjątków, abyś mógł użyć jej jako przewodnika do obsługi możliwych wyjątków podczas pisania programów w Pythonie .

Należy pamiętać, że większość wyjątków można przechwycić i obsłużyć, ale należy zachować ostrożność, aby obsłużyć ostatnie wywołanie, aby uniknąć zagnieżdżonej obsługi innych przypadków wyjątków.

W następnej sekcji przyjrzymy się niektórym przypadkom użycia bloku try-except w Pythonie. Wejdźmy w to!

5 przypadków użycia bloku Try-Except

Blok Try Except to jedna z powszechnie stosowanych technik obsługi błędów. Poniżej przedstawiono niektóre przypadki użycia bloku Try Exception w Pythonie:

1. Obsługa plików za pomocą Try Except

Podczas pracy z plikami zawsze istnieje szansa, że ​​plik nie istnieje lub nie znajduje się w miejscu, z którego skrypt próbuje uzyskać do niego dostęp.

Poniższy kod zgłosi wyjątek, gdy spróbujemy otworzyć plik, którego nie ma.

try: with open('file.txt', 'r') as file: print(file.read()) except FileNotFoundError: print('Sorry, this file does not exist.')

W tym kodzie próbujemy otworzyć i odczytać plik o nazwie „file.txt”. Jeśli plik „file.txt” nie istnieje, wystąpi wyjątek, ale zamiast błędu zatrzymującego program wyświetli komunikat „Przepraszamy, ten plik nie istnieje”.

Python Spróbuj wyjątkiem: przykłady krok po kroku

2. Obsługa danych wprowadzanych przez użytkownika za pomocą opcji Try Exception

Wprowadzanie danych przez użytkownika to kolejny obszar, w którym często występują wyjątki. Użytkownicy mogą podawać dane w nieoczekiwanym formacie lub wprowadzać dane spoza dopuszczalnego zakresu.

Poniższy przykład pokazuje, jak obsługiwać dane wprowadzane przez użytkownika za pomocą bloku try-except:

try: age = int(input("Enter your age: ")) except ValueError: print("That's not a valid age. Please enter a number.")

W tym kodzie prosimy użytkownika o podanie wieku. Jeśli wprowadzą coś, czego nie można przekonwertować na liczbę całkowitą (na przykład słowo lub literę), wystąpi wyjątek, ale zamiast awarii programu wyświetli komunikat „To nie jest prawidłowy wiek. Proszę wpisać numer.'

Python Spróbuj wyjątkiem: przykłady krok po kroku

3. Dostęp do nieistniejących kluczy słownikowych

W Pythonie słownik jest zmiennym, nieuporządkowanym zbiorem par klucz-wartość , w którym każdy klucz musi być unikalny.

Kiedy próbujesz uzyskać dostęp do klucza, który nie istnieje w słowniku, Python zgłasza KeyError. Aby obsłużyć ten wyjątek, możesz użyć instrukcji try i Exception, jak pokazano w poniższym przykładzie:

dictionary = {"key1": "value1", "key2": "value2"} try: print(dictionary["key3"]) except KeyError: print("The key does not exist in the dictionary.")

W tym kodzie próbujesz wydrukować wartość „key3” ze słownika. Jeśli „klucz 3” nie istnieje w słowniku, wystąpi wyjątek, ale zamiast zatrzymania programu z błędem, wypisze on „Klucz nie istnieje w słowniku”.

Python Spróbuj wyjątkiem: przykłady krok po kroku

4. Konwersja łańcucha na liczbę całkowitą

Może się zdarzyć, że będziesz chciał przekonwertować ciąg znaków na liczbę całkowitą. Ale jeśli łańcuch nie reprezentuje poprawnej liczby całkowitej, Python zgłosi błąd wartości.

Możesz użyć try i wyjątkiem, aby obsłużyć ten przypadek:

try: num = int("hello") except ValueError: print("That string can't be converted to integer.")

W tym przypadku „hello” nie może zostać przekonwertowane na liczbę całkowitą, więc Python zgłasza błąd ValueError i wypisuje „Tego ciągu znaków nie można przekonwertować na liczbę całkowitą”.

Python Spróbuj wyjątkiem: przykłady krok po kroku

5. Importowanie modułu

Podczas importowania modułu w Pythonie możliwe jest, że moduł nie istnieje lub nie jest zainstalowany. W takich przypadkach Python zgłosi błąd ImportError.

Aby obsłużyć ten przypadek, możesz użyć następującego kodu:

try: import some_module except ImportError: print("The module 'some_module' is not installed.")

W powyższym przykładzie, jeśli „jakiś_moduł” nie jest zainstalowany lub nie istnieje, Python zgłosi błąd ImportError i wypisze „Moduł „jakiś_moduł” nie jest zainstalowany.

Python Spróbuj wyjątkiem: przykłady krok po kroku

Aby dowiedzieć się więcej o pisaniu kodu w Pythonie i spełnianiu oczekiwań, obejrzyj poniższy film:

Następnie przyjrzymy się niektórym najlepszym praktykom obsługi wyjątków. Zagłębmy się w to!

Najlepsze praktyki obsługi wyjątków

W tej sekcji wymieniliśmy niektóre z najlepszych praktyk dotyczących obsługi wyjątków za pomocą bloku Try Except. Niektóre najlepsze praktyki dotyczące obsługi wyjątków to:

1. Bądź konkretny z wyjątkami

Podczas pisania kodu kluczowe znaczenie ma wychwytywanie wyjątków tak dokładnie, jak to możliwe. Oznacza to, że zamiast przechwytywać ogólną nazwę wyjątku, należy przechwycić rzeczywisty typ wyjątku, którego oczekujesz.

W ten sposób będziesz dokładnie wiedzieć, jaki rodzaj błędu wystąpił i będziesz w stanie odpowiednio sobie z nim poradzić.

2. Nie pomijaj wyjątków

Kiedy masz do czynienia z wyjątkami, możesz ulec pokusie, aby po prostu złapać je za pomocą programu obsługi wyjątków i nic z tym nie robić. To generalnie zły pomysł.

Jeśli wystąpi błąd, zwykle dzieje się tak dlatego, że trzeba coś naprawić. Jeśli pominiesz klasę wyjątku, błąd może pozostać niezauważony i spowodować problemy w późniejszym czasie.

3. Użyj narzędzia Wreszcie do czyszczenia kodu

Czasami masz jakiś kod, który musisz uruchomić niezależnie od tego, czy wystąpił błąd, czy nie. Może to być coś w rodzaju zamknięcia pliku lub zwolnienia niektórych zasobów.

W takich przypadkach można użyć bloku ultimate . Kod wewnątrz bloku ultimate będzie działać bez względu na wszystko, więc jest to świetne miejsce na umieszczenie kodu czyszczącego.

try: # Some code here finally: # This code will run no matter what

4. W razie potrzeby zgłaszaj wyjątki

Mogą zaistnieć sytuacje, w których musisz poinformować użytkownika kodu, że coś poszło nie tak.

W takich przypadkach można zgłosić wyjątek. Spowoduje to natychmiastowe zatrzymanie wykonywania Twojego kodu i poinformowanie użytkownika o wystąpieniu błędu.

if not valid_input: raise ValueError("Your input was not valid!")

Zrozumienie i wdrożenie tych najlepszych praktyk sprawi, że Twój kod będzie bardziej niezawodny, łatwiejszy do debugowania i zapobiegnie nieoczekiwanym awariom.

Końcowe przemyślenia

Podsumowując, wiedza o tym, jak używać funkcji try iz wyjątkiem w Pythonie, naprawdę pomaga, gdy piszesz swój kod i napotykasz w nim wyjątki.

Pozwalają programowi płynnie radzić sobie z błędami, zamiast nagle się zatrzymywać. Jest to sposób na upewnienie się, że Twój kod poradzi sobie z niespodziankami i będzie działał dalej.

Dodatkowo, kiedy używasz spróbuj i wyjąć, pokazuje to, że naprawdę myślisz o tym, co może pójść nie tak i przygotowujesz się na to. Poświęć więc trochę czasu na zapoznanie się z tymi narzędziami — są one bardzo przydatne podczas pisania kodu w Pythonie!

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.