except для обработки разных типов исключений. Это позволяет обрабатывать каждый тип ошибки специфическим образом.
  
try:
  result = 10 / int(input("Введите число: "))
  print("Результат:", result)
except ValueError:
  print("Ошибка: Введено некорректное значение (не число).")
except ZeroDivisionError:
  print("Ошибка: Деление на ноль!")
except Exception as e:
  print(f"Произошла непредвиденная ошибка: {e}")
  Да, в Python можно и рекомендуется использовать несколько блоков except для обработки разных типов исключений. Это позволяет более точно определить, какая именно ошибка произошла, и обработать ее соответствующим образом. Такой подход делает код более надежным и понятным.
Пример:
try:
  # Код, который может вызвать исключения разных типов
  numerator = int(input("Введите числитель: "))
  denominator = int(input("Введите знаменатель: "))
  result = numerator / denominator
  print("Результат:", result)
except ValueError:
  # Обработка исключения, если пользователь ввел некорректное число
  print("Ошибка: Пожалуйста, введите целое число.")
except ZeroDivisionError:
  # Обработка исключения, если знаменатель равен нулю
  print("Ошибка: Деление на ноль недопустимо.")
except Exception as e:
  # Обработка всех остальных исключений (не рекомендуется как основная обработка)
  print("Произошла непредвиденная ошибка:", e)
else:
    print("Операция выполнена успешно!")
finally:
    print("Блок finally выполняется всегда, независимо от наличия исключений.")
  Пояснения:
try содержит код, который потенциально может вызвать исключение.except следуют за блоком try и определяют, как обрабатывать определенные типы исключений.  Важно располагать блоки except от более специфичных типов исключений к более общим.ValueError, которое будет обработано первым блоком except.ZeroDivisionError, которое будет обработано вторым блоком except.Exception - это базовый класс для всех исключений в Python.  Использование except Exception позволяет перехватить любое исключение, которое не было перехвачено предыдущими блоками except.  Однако, рекомендуется использовать его в качестве последнего блока, так как он может скрывать ошибки, требующие более специфической обработки.else выполняется только в том случае, если в блоке try не произошло никаких исключений.finally выполняется всегда, независимо от того, было ли исключение или нет. Он обычно используется для освобождения ресурсов (например, закрытия файлов) или выполнения завершающих действий.Рекомендации:
except. Это позволит вам более точно обрабатывать ошибки и предотвращать нежелательное поведение программы.except Exception или except без указания типа исключения в качестве первой обработки.  Это может привести к перехвату исключений, которые вы не планировали обрабатывать, и затруднить отладку.finally для гарантированного освобождения ресурсов, даже если возникло исключение.