except. Например:
  
try:
    # Код, который может вызвать исключение
    pass
except (TypeError, ValueError) as e:
    # Обработка TypeError или ValueError
    print(f"Произошла ошибка: {e}")
except Exception as e:
    # Обработка всех остальных исключений
    print(f"Произошла неожиданная ошибка: {e}")
  TypeError или ValueError, то выполнится первый блок except.
В Python есть несколько способов перехватить исключения разных типов в одном блоке except.  Рассмотрим наиболее распространенные:
1. Перечисление исключений в кортеже:
Самый распространенный и рекомендуемый способ - указать все типы исключений, которые нужно перехватить, в кортеже после ключевого слова except.  Это позволяет явно перечислить обрабатываемые исключения и обеспечивает лучшую читаемость кода.
try:
    # Код, который может вызвать исключение
    result = 10 / int(input("Введите число: "))
    print(f"Результат: {result}")
except (ValueError, ZeroDivisionError) as e:
    # Обработка ValueError и ZeroDivisionError
    print(f"Произошла ошибка: {e}")
except Exception as e:
    # Обработка всех остальных исключений
    print(f"Произошла неожиданная ошибка: {e}")
finally:
    # Код, который выполнится в любом случае
    print("Завершение работы")
  В этом примере, если пользователь введет не число, будет выброшено ValueError, а если введет 0, будет выброшено ZeroDivisionError.  Оба этих исключения будут перехвачены первым блоком except.
Exception - это базовый класс для большинства исключений в Python.  Использование его в качестве обработчика "всех остальных" исключений должно быть осторожным и рассматриваться как крайняя мера, поскольку это может скрыть неожиданные проблемы в коде.  Лучше явно перечислять все исключения, которые вы ожидаете и знаете, как обработать.
2. Перехват базового класса исключения:
Если несколько исключений наследуются от общего базового класса, можно перехватить этот базовый класс.  Например, IOError является базовым классом для FileNotFoundError и PermissionError.
try:
    with open("nonexistent_file.txt", "r") as f:
        content = f.read()
except IOError as e:
    print(f"Произошла ошибка ввода/вывода: {e}")
  В этом случае, если файл не будет найден (FileNotFoundError) или у вас не будет прав доступа (PermissionError), блок except IOError будет выполнен.
Важные моменты:
except имеет значение.  Python проверяет блоки except сверху вниз, и выполняется первый блок, соответствующий типу выброшенного исключения.Exception, в конце.except: (без указания типа исключения) крайне не рекомендуется, так как это может скрыть важные ошибки и усложнить отладку.finally выполняется всегда, независимо от того, было ли выброшено исключение или нет.  Он обычно используется для освобождения ресурсов (например, закрытия файлов).Выбор способа перехвата исключений зависит от конкретной ситуации и требований к коду. Оптимальным является явное перечисление ожидаемых исключений в кортеже, что обеспечивает лучшую читаемость и управляемость кода.