Spróbuj, z wyjątkiem, w przeciwnym razie i wreszcie w Pythonie

Wyjątek to nieoczekiwane zdarzenie, które ma miejsce podczas wykonywania programu. Znany jest również jako błąd czasu działania . Gdy wystąpi ten błąd, Pyton generuje wyjątek podczas wykonywania, który można obsłużyć, co zapobiega przerywaniu programu.

Przykład: W tym kodzie system nie może podzielić liczby przez zero, dlatego zgłaszany jest wyjątek.

Python3




a> => 5> b> => 0> print> (a> /> b)>

Wyjście

Traceback (most recent call last): File '/home/8a10be6ca075391a8b174e0987a3e7f5.py', line 3, in print(a/b) ZeroDivisionError: division by zero 

Obsługa wyjątków za pomocą try, z wyjątkiem, else i wreszcie

  • Próbować : Ten blok sprawdza, czy wystąpi wyjątek
  • Z wyjątkiem : Tutaj możesz poradzić sobie z błędem
  • W przeciwnym razie : Jeśli nie ma wyjątku, ten blok zostanie wykonany
  • Wreszcie : Na koniec blok zawsze jest wykonywany, niezależnie od tego, czy zostanie wygenerowany wyjątek, czy nie

Python Spróbuj, z wyjątkiem, w przeciwnym razie i na koniec Składnia

try: # Some Code.... except: # optional block # Handling of exception (if required) else: # execute if no exception finally: # Some code .....(always executed) 

Praca „ próbować' I 'z wyjątkiem'

Najpierw zrozummy, jak Python spróbuj i wyjątek Pracuje

  • Pierwszy próbować wykonywana jest klauzula, tj. kod pomiędzy próbować I z wyjątkiem klauzula.
  • Jeśli nie ma wyjątku, to tylko próbować klauzula zostanie uruchomiona, z wyjątkiem klauzula nie zostanie wykonana.
  • Jeśli wystąpi jakikolwiek wyjątek, plik próbować klauzula zostanie pominięta i z wyjątkiem klauzula zostanie uruchomiona.
  • Jeśli wystąpi jakikolwiek wyjątek, ale z wyjątkiem klauzula w kodzie nie obsługuje tego, jest przekazywana do zewnętrznej próbować sprawozdania. Jeśli wyjątek pozostanie nieobsługiwany, wykonanie zostanie zatrzymane.
  • A próbować instrukcja może mieć więcej niż jeden z wyjątkiem klauzula.

Przykład: Spróbujmy przyjąć liczbę całkowitą użytkownika i zgłosić wyjątek w bloku z wyjątkiem.

Python3




# Python code to illustrate working of try()> def> divide(x, y):> > try> :> > # Floor Division : Gives only Fractional> > # Part as Answer> > result> => x> /> /> y> > print> (> 'Yeah ! Your answer is :'> , result)> > except> ZeroDivisionError:> > print> (> 'Sorry ! You are dividing by zero '> )> > # Look at parameters and note the working of Program> divide(> 3> ,> 2> )> divide(> 3> ,> 0> )>

Wyjście:

Yeah ! Your answer is : 1 Sorry ! You are dividing by zero 

Złap wiele wyjątków w Pythonie

Oto przykład pokazujący, jak używać wielu klauzul z wyjątkiem do obsługi różnych wyjątków:

Python3




try> :> > x> => int> (> input> (> 'Enter a number: '> ))> > result> => 10> /> x> except> ZeroDivisionError:> > print> (> 'You cannot divide by zero.'> )> except> ValueError:> > print> (> 'Invalid input. Please enter a valid number.'> )> except> Exception as e:> > print> (f> 'An error occurred: {e}'> )>

Wyjście:

Enter a number: An error occurred: EOF when reading a line 

Inne klauzule w Pythonie

Kod wchodzi do bloku else tylko wtedy, gdy klauzula try nie zgłasza wyjątku.

Przykład: W innym przypadku zostanie wykonany blok tylko wtedy, gdy nie ma wyjątku .

Python3




# Python code to illustrate working of try()> def> divide(x, y):> > try> :> > # Floor Division : Gives only Fractional> > # Part as Answer> > result> => x> /> /> y> > except> ZeroDivisionError:> > print> (> 'Sorry ! You are dividing by zero '> )> > else> :> > print> (> 'Yeah ! Your answer is :'> , result)> > # Look at parameters and note the working of Program> divide(> 3> ,> 2> )> divide(> 3> ,> 0> )>

Wyjście:

Yeah ! Your answer is : 1 Sorry ! You are dividing by zero 

Wreszcie słowo kluczowe Python

Python udostępnia słowo kluczowe Wreszcie , który jest zawsze wykonywane po próbie i wykluczeniu bloków. Blok Final zawsze jest wykonywany po normalnym zakończeniu bloku try lub po zakończeniu bloku try z powodu jakiegoś wyjątku. Nawet jeśli powrócisz do bloku z wyjątkiem, blok final zostanie wykonany

Przykład: Spróbujmy zgłosić wyjątek w bloku z wyjątkiem i w końcu wykonamy wyjątek, który zostanie wygenerowany lub nie

Python3




# Python code to illustrate> # working of try()> def> divide(x, y):> > try> :> > # Floor Division : Gives only Fractional> > # Part as Answer> > result> => x> /> /> y> > except> ZeroDivisionError:> > print> (> 'Sorry ! You are dividing by zero '> )> > else> :> > print> (> 'Yeah ! Your answer is :'> , result)> > finally> :> > # this block is always executed> > # regardless of exception generation.> > print> (> 'This is always executed'> )> # Look at parameters and note the working of Program> divide(> 3> ,> 2> )> divide(> 3> ,> 0> )>

Wyjście:

Yeah ! Your answer is : 1 This is always executed Sorry ! You are dividing by zero This is always executed