В Python исключения — это события, которые происходят во время выполнения программы и изменяют обычный поток выполнения. Исключения обрабатываются с помощью конструкции try/except. Однако, не всегда удобно или даже возможно обрабатывать каждое возможное исключение отдельно. Именно здесь на помощь приходит возможность использования кортежа в блоке except.
Python позволяет ловить сразу несколько исключений в одном блоке except. Для этого используется кортеж:
try:
# ваш код здесь
except (Исключение1, Исключение2):
# обработка исключения здесь
Предположим, что у вас есть функция, которая может вызвать TypeError
при операции с несовместимыми типами данных, или ValueError
, если функция получает аргумент некорректного значения. Вы можете обработать оба этих исключения так:
def calculate(a, b):
try:
result = a/b
return result
except (TypeError, ValueError):
print("Некорректный тип данных или значение")
Не забывайте, что порядок блоков except важен. Python обрабатывает исключения в порядке, в котором они указаны, поэтому если у вас есть общий класс исключений, который должен обрабатывать несколько классов исключений, он должен быть указан последним. В противном случае он "перехватит" все исключения, и более специфические обработчики исключений никогда не будут выполнены.
В любом случае использование кортежей в блоке except - это мощный инструмент Python для обработки исключений, который помогает делать код более универсальным и устойчивым к ошибкам.