try:
    x = int('abc')
except ValueError:
    print("Ошибка преобразования строки в число")
finally:
    print("Этот блок всегда выполнится")
Программа выведет:
Ошибка преобразования строки в число
Этот блок всегда выполнится
Объяснение:
Блок try попытается преобразовать строку 'abc' в целое число, что вызовет исключение ValueError.
Блок except ValueError перехватит это исключение и выведет сообщение об ошибке.
Блок finally выполнится в любом случае, независимо от того, было ли исключение или нет, и выведет соответствующее сообщение.
Разбор кода:
Представленный код демонстрирует работу блоков try, except и finally в Python.
try:  В этом блоке происходит попытка выполнить код, который может вызвать исключение. В данном случае, это строка x = int('abc').int('abc'):  Функция int() пытается преобразовать строку 'abc' в целое число. Так как строка не содержит допустимое числовое представление, возникает исключение ValueError.except ValueError: Этот блок кода предназначен для перехвата исключения ValueError.  Поскольку исключение ValueError действительно возникает в блоке try, управление передается в этот блок.print("Ошибка преобразования строки в число"):  Внутри блока except выполняется вывод сообщения об ошибке в консоль.finally: Блок finally выполняется всегда, независимо от того, было ли выброшено исключение в блоке try и было ли оно перехвачено блоком except.print("Этот блок всегда выполнится"):  Выводит сообщение в консоль.Результат выполнения:
При выполнении этого кода будет выведено следующее:
Ошибка преобразования строки в число
Этот блок всегда выполнится
  Важные моменты:
finally гарантирует, что определенный код будет выполнен, например, для освобождения ресурсов (закрытие файлов, сетевых соединений и т.д.), даже если в блоке try произошла ошибка.try не перехвачено ни одним из блоков except, оно будет распространяться дальше по стеку вызовов. Однако, блок finally все равно выполнится перед тем, как исключение будет передано дальше.