Это продолжение статьи Исключения в Python. Введение
Иногда определённые типы исключений требуют специфической реакции или специфической обработки, отличной от обработки других типов исключений. Python предоставляет такую возможность - возможность классифицировать исключение по имени класса и совершить необходимые действия, заранее определённые для каждого выбранного класса ошибок.
Но прежде чем перейти к примеру кода, который решает этот вопрос, стоит посмотреть, какие вообще существуют классы исключений в Python. Для этого в первую очередь следует обратиться к официальной документации Python: https://docs.python.org/3/library/exceptions.html .
Можно также получить список всех встроенных исключений с помощью следующей команды в консоли Python:
dir(locals()['__builtins__'])
В коде, представленном ниже, в отдельные блоки формируются 3 группы исключений:
while True:
line = input('Please enter an integer: ')
if line == 'end':
break
try:
result = 100 / int(line)
print(result)
except (ValueError, TypeError) as e:
print('Exception for Value or Type Error')
print(e.__class__, e)
print('Please enter another number! ')
except ZeroDivisionError as e:
print('Exception for ZeroDivisionError')
print(e.__class__, e)
print('Please enter another number! ')
except Exception as e:
print('Exception for other error')
print(e.__class__, e)
print('Please enter another number! ')
Продолжить в статье Исключения в Python. Операторы вызова исключений: raise и assert
Вернуться в начало, на статью Исключения в Python. Введение