training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Выброс и перехват исключений в Python

Создано: 15 августа 2017Автор: Егор Астапов2200 просмотровСложность: легкий

Добрались руки до исключений в 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
"""

Комментарии

реклама