6.2. Конструкция try-except-finally.

Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

Самоучитель Python 3, собранный из материалов данного сайта. Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.

Конструкция `try-except-finally` в Python предоставляет механизм для обработки исключений и выполнения кода в блоке `finally`, который выполняется независимо от того, возникло исключение или нет.
 
Блок try
Блок try содержит код, в котором может возникнуть исключение. В этом блоке мы помещаем код, который мы хотим защитить от возможных исключений.
try:
    # Код, в котором может возникнуть исключение
    result = 10 / 0
except ZeroDivisionError:
    # Обработка исключения деления на ноль
    print("Деление на ноль!")
 
Блок except
Блок except следует за блоком try и содержит код, который будет выполнен в случае возникновения исключения. Мы можем указать тип исключения, которое мы хотим обработать, после ключевого слова except. Если тип исключения не указан, блок except будет обрабатывать любые исключения, если после него написать "Exception as e:".
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Деление на ноль!")
except Exception as e:
    print("Произошло исключение:", e)
 
Блок finally
Блок finally следует за блоком except (или за блоком try, если нет блоков except) и содержит код, который будет выполнен всегда, независимо от того, возникло исключение или нет. Этот блок часто используется для освобождения ресурсов, например, закрытия файлов или соединений с базой данных.
try:
    file = open("example.txt", "r")
    data = file.read()
    print(data)
except FileNotFoundError:
    print("Файл не найден!")
finally:
    file.close()  # Закрытие файла, даже если возникло исключение
 
Блок else
Мы можем использовать блок else после блока except для выполнения кода, если исключения не произошло. Блок else будет выполняться только в том случае, если в блоке try не возникло исключений.
try:
    result = 10 / 2
except ZeroDivisionError:
    print("Деление на ноль!")
else:
    print("Результат:", result)

категории

ТЕОРИЯ

  • Введение в Python
  • Основы программирования на Python
  • Управляющие конструкции
  • Структуры данных
  • Функции и модули
  • Обработка исключений
  • Работа с файлами и потоками
  • файловая система
  • Объектно-ориентированное программирование (ООП)
  • Регулярные выражения
  • Дополнительные темы

Мы в соцсетях