5. Wyjątki¶
W przypadku wykonania niedozwolonej operacji,
W sytuacjach gdy zasób jest dla nas niedostępny - np. niewystarczające uprawnienia / za mało pamięci itp.
5.1. Syntax Errors¶
>>> while True print('Hello world')
File "<stdin>", line 1
while True print('Hello world')
^
SyntaxError: invalid syntax
5.2. Key Errors¶
stolice = {"Francja": "Paryz", "Niemcy":"Berlin", "Polska":"Warszawa", "Czechy":"Praga"}
stolice["USA"]
KeyError: 'USA'
5.4. Indentation Error¶
def testfunc():
print('Hello ;)')
print('My name is:')
File "<ipython-input-4-9cd3c6fb52a1>", line 3
print('My name is:')
^
IndentationError: unexpected indent
5.5. ModuleNotFoundError¶
import not_existing_module
ModuleNotFoundError: No module named 'not_existing_module'
Tablica hierarchi wyjątków w Python.
5.6. IndexError¶
uczestnicy = ['Kasia', 'Adam', 'Tomek']
uczestnicy[6]
IndexError: list index out of range
5.7. Obsługa wyjątków¶
for i in range(3, -3, -1):
try:
print('Próba dzielenia przez {}'.format(i))
3 / i
except ZeroDivisionError:
print('Pomijam, nielegalna operajca !!!')
finally:
print('Koniec obsługi')
Próba dzielenia przez 3
Koniec obsługi
Próba dzielenia przez 2
Koniec obsługi
Próba dzielenia przez 1
Koniec obsługi
Próba dzielenia przez 0
Pomijam, nielegalna operajca !!!
Koniec obsługi
Próba dzielenia przez -1
Koniec obsługi
Próba dzielenia przez -2
Koniec obsługi
5.8. Podniesienie wyjątku¶
def generate_report(input_data, outputfile):
raise NotImplementedError('Function development still in progress')
NotImplementedError: Function development still in progress