Добрались руки до исключений в Python. Обычно конструкции отвечающие за выброс и перехват исключений довольно сложно устроены. Но в питоне это выглядит компактно и понятно. В первом примере передайте функции в качестве аргумента число от 1 до 5. Потом введите строку вместо числа.
#!/usr/bin/python3
chars = ['Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon']
def display(elem):
# значение должно быть целым числом
assert type(elem) is int, 'Argument Must Be Integer!'
print('List Element', elem, '=', chars[elem])
elem = 4
display(elem)
"""
вывод:
List Element 4 = Epsilon
"""
elem = elem / 3
display(elem)
'''
вывод:
AssertionError: Argument Must Be Integer!
'''
В этом примере показано как перехватить исключение и вывести предупреждение. Обработка исключения находится внутри тела условного оператора if-else. Об условном операторе else-if подробно написано в статье условный оператор if-else Python
#!/usr/bin/python3
day = 80
try:
if day > 31:
raise ValueError('Invalid Day Number')
except ValueError as msg:
print('The Program found An', msg)
finally:
print('Все исключения выброшены!')
В этом примере выполнен перехват и вывод исключения. При выводе вы увидите название ошибки в самой последней строке. В нашем случае выведется NameError
#!/usr/bin/python3
title = 'python for you'
try:
print(title1)
except NameError as msg:
print(msg)
"""
вывод:
name 'title1' is not defined
"""