Try ... Except w Pythonie

try blok pozwala na testowanie bloku kodu w celu znalezienia błędów.

except blok pozwala na obsługę błędów.

finally blok pozwala na wykonanie kodu, niezależnie od wyniku bloków try i except.

Przetwarzanie wyjątków

Kiedy wywołujemy Python i występuje błąd lub wyjątek, zazwyczaj zatrzymujemy się i generujemy komunikat o błędzie.

można użyć try zastępujące te wyjątki:

Przykład

Blok try wygeneruje wyjątek, ponieważ x nie jest zdefiniowane:

try:
  print(x)
except:
  print("Wystąpił wyjątek")

Uruchom przykład

Ponieważ blok try wywołał błąd, wykonany zostanie blok except.

Jeśli nie ma bloku try, program się zawiesi i spowoduje błąd:

Przykład

To zdanie spowoduje błąd, ponieważ x nie jest zdefiniowane:

print(x)

Uruchom przykład

wiele wyjątków

Możesz zdefiniować dowolną liczbę bloków exception, na przykład, jeśli chcesz wykonać specjalny blok kodu dla specjalnego typu błędów:

Przykład

Jeśli blok try wywoła błąd NameErrorwypisze wiadomość, jeśli to inny błąd, wypisze inną wiadomość:

try:
  print(x)
except NameError:
  print("Nie zdefiniowano zmiennej x")
except:
  print("Something else went wrong")

Uruchom przykład

Else

Jeśli nie wywoła błędu, możesz użyć else kluczami do zdefiniowania kodu do wykonania:

Przykład

W tym przykładzie,try Blok nie wygeneruje żadnych błędów:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Uruchom przykład

Finally

Jeśli zdefiniowano finally Jeśli blok, niezależnie od tego, czy blok try wywoła błąd, blok finally zostanie wykonany.

Przykład

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Uruchom przykład

To jest bardzo przydatne do zamknięcia obiektów i czyszczenia zasobów:

Przykład

Spróbuj otworzyć i zapisać do pliku niewyrażonego do zapisu:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  wyświetl("Coś poszło nie tak podczas zapisywania do pliku")
finally:
  f.close()

Uruchom przykład

Program może kontynuować działanie, a plik obiektowy nie zostanie otworzony.

Wywołanie wyjątku

Jako deweloper Python możesz wybrać wywołanie wyjątku pod warunkiem wystąpienia określonej sytuacji.

Aby wywołać (wywołać) wyjątek, użyj wywołać Słowa kluczowe.

Przykład

Jeśli x jest mniejszy niż 0, to wywołać wyjątek i zakończyć program:

x = -1
jeśli x < 0:
  wywołać Wyjątek("Przepraszamy, liczby poniżej zera są niedozwolone")

Uruchom przykład

wywołać Słowa kluczowe do wywoływania wyjątków.

Możesz zdefiniować typ wywoływanej wyjątkowej oraz tekst wyświetlany użytkownikowi.

Przykład

Jeśli x nie jest liczbą całkowitą, to wywołać BłądTypu:

x = "hello"
jeśli nie typ(x) jest int:
  wywołać BłądTypu("Tylko liczby całkowite są dozwolone")

Uruchom przykład